Reuse of DB-API 2.0 cursors for multiple queries?

M

moreati

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.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
 
Ð

Дамјан ГеоргиевÑки

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.

have you tried to curs.fetch() or fetchall() before the second execute?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,014
Latest member
BiancaFix3

Latest Threads

Top