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