FAQ
Today, I used the adodbapi module against an SQL Server Express
database. I was surprised to get an exception, when I attempted to
submit a second query with my cursor object. The full session is
below.

With cx_Oracle I've become used to reusing a cursor for subsequent
queries. The PEP doesn't specify either way, that I can see. Is this
behaviour left to the implementation, or should I be able to expect a
cursor is reusable?

With thanks, Alex

Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
import adodbapi
conn = adodbapi.connect('Provider=SQLOLEDB.1;Data Source=.\\SQLEXPRESS;Initial Catalog=MYDATABBASE;Integrated Security=SSPI;User Instance=False;')
curs = conn.cursor()
curs.execute('select * from localview_roles')
curs.execute('select * from localview_roles')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python25\Lib\site-packages\adodbapi\adodbapi.py", line 713,
in execut
e
self._executeHelper(operation,False,parameters)
File "C:\Python25\Lib\site-packages\adodbapi\adodbapi.py", line 664,
in _execu
teHelper
self._raiseCursorError(DatabaseError,tracebackhistory)
File "C:\Python25\Lib\site-packages\adodbapi\adodbapi.py", line 474,
in _raise
CursorError
eh(self.conn,self,errorclass,errorvalue)
File "C:\Python25\Lib\site-packages\adodbapi\adodbapi.py", line 60,
in standar
dErrorHandler
raise errorclass(errorvalue)
adodbapi.adodbapi.DatabaseError:
--ADODBAPI
Traceback (most recent call last):
File "C:\Python25\Lib\site-packages\adodbapi\adodbapi.py", line
650, in _exec
uteHelper
adoRetVal=self.cmd.Execute()
File "<COMObject ADODB.Command>", line 3, in Execute
File "C:\Python25\lib\site-packages\win32com\client\dynamic.py",
line 258, in
_ApplyTypes_
result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags,
retType, argTypes
) + args)
com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft OLE
DB Provider
for SQL Server', u'Cannot create new connection because in manual or
distribute
d transaction mode.', None, 0, -2147467259), None)
-- on command: "select * from localview_roles"
-- with parameters: None

Search Discussions

  • Дамјан Георгиевски at Jan 28, 2009 at 11:56 pm

    Today, I used the adodbapi module against an SQL Server Express
    database. I was surprised to get an exception, when I attempted to
    submit a second query with my cursor object. The full session is
    below.
    curs.execute('select * from localview_roles')
    curs.execute('select * from localview_roles')
    have you tried to curs.fetch() or fetchall() before the second execute?



    --
    ?????? ( http://softver.org.mk/damjan/ )

    Scarlett Johansson: You always see the glass half-empty.
    Woody Allen: No. I see the glass half-full, but of poison.
  • Carsten Haese at Jan 29, 2009 at 12:47 am

    moreati wrote:
    Today, I used the adodbapi module against an SQL Server Express
    database. I was surprised to get an exception, when I attempted to
    submit a second query with my cursor object. The full session is
    below.

    With cx_Oracle I've become used to reusing a cursor for subsequent
    queries. The PEP doesn't specify either way, that I can see.
    The PEP doesn't say explicitly that a cursor can execute multiple
    queries, but it's definitely implied by the second paragraph:

    """
    .execute(operation[,parameters])

    Prepare and execute a database operation (query or
    command). Parameters may be provided as sequence or
    mapping and will be bound to variables in the operation.
    Variables are specified in a database-specific notation
    (see the module's paramstyle attribute for details). [5]

    A reference to the operation will be retained by the
    cursor. If the same operation object is passed in again,
    then the cursor can optimize its behavior. This is most
    effective for algorithms where the same operation is used,
    but different parameters are bound to it (many times).
    """

    You might want to check on a list dedicated to adodbapi whether there
    are module-specific quirks or caveats to watch out for. Or wait for
    somebody with adodbapi-specific knowledge to chime in.

    HTH,

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppython-list @
categoriespython
postedJan 28, '09 at 5:17p
activeJan 29, '09 at 12:47a
posts3
users3
websitepython.org

People

Translate

site design / logo © 2023 Grokbase