всем привет,
есть код
Код:
db=adodbapi.connect("Driver={SQL Server};Server={host}")
c=db.cursor()
c.execute('use archive')
c.execute('select * from view1')
#тут обработали результат
c.execute('select * from view2')
при вызове
c.execute('select * from view2')
выдает много ошибок…
C:\temp\python>mssql_sp5.py >> \1.log
Traceback (most recent call last):
File “C:\temp\python\mssql_sp5.py”, line 39, in <module>
c.execute('EXEC MAIL_WARNING @Id_Laboratory=3')
File “C:\Python25\lib\site-packages\adodbapi\adodbapi.py”, line 592, in execut
e
self.executeHelper(operation,0,parameters)
File “C:\Python25\lib\site-packages\adodbapi\adodbapi.py”, line 552, in execut
eHelper
self._raiseCursorError(DatabaseError,tracebackhistory)
File “C:\Python25\lib\site-packages\adodbapi\adodbapi.py”, line 407, in _raise
CursorError
eh(self.conn,self,errorclass,errorvalue)
File “C:\Python25\lib\site-packages\adodbapi\adodbapi.py”, line 38, in standar
dErrorHandler
raise errorclass(errorvalue)
adodbapi.adodbapi.DatabaseError:
———–
Strategy 1: Traceback:Traceback (most recent call last):
File “C:\Python25\lib\site-packages\adodbapi\adodbapi.py”, line 487, in execu
teHelper
self.cmd.ActiveConnection=self.conn.adoConn
File “C:\Python25\Lib\site-packages\win32com\client\dynamic.py”, line 534, in
__setattr__
self._oleobj_.Invoke(entry.dispid, 0, invoke_type, 0, value)
com_error: (-2147352567, ‘тут UNICODE пропущен’, (0, ‘Microsoft OLE DB Pro
vider for ODBC Drivers’, ‘тут UNICODE пропущен’, None, 0, -2147467259), None)
———–
Strategy 2: Traceback:Traceback (most recent call last):
File “C:\Python25\lib\site-packages\adodbapi\adodbapi.py”, line 487, in execu
teHelper
self.cmd.ActiveConnection=self.conn.adoConn
File “C:\Python25\Lib\site-packages\win32com\client\dynamic.py”, line 534, in
__setattr__
self._oleobj_.Invoke(entry.dispid, 0, invoke_type, 0, value)
com_error: (-2147352567, ‘тут UNICODE пропущен’, (0, ‘Microsoft OLE DB Pro
vider for ODBC Drivers’, ‘тут UNICODE пропущен’, None, 0, -2147467259), None)
———–
Strategy 3: Traceback:Traceback (most recent call last):
File “C:\Python25\lib\site-packages\adodbapi\adodbapi.py”, line 487, in execu
teHelper
self.cmd.ActiveConnection=self.conn.adoConn
File “C:\Python25\Lib\site-packages\win32com\client\dynamic.py”, line 534, in
__setattr__
self._oleobj_.Invoke(entry.dispid, 0, invoke_type, 0, value)
com_error: (-2147352567, ‘тут UNICODE пропущен’, None, 0, -2147467259), None)
———–
Strategy 4: Traceback:Traceback (most recent call last):
File “C:\Python25\lib\site-packages\adodbapi\adodbapi.py”, line 487, in execu
teHelper
self.cmd.ActiveConnection=self.conn.adoConn
File “C:\Python25\Lib\site-packages\win32com\client\dynamic.py”, line 534, in
__setattr__
self._oleobj_.Invoke(entry.dispid, 0, invoke_type, 0, value)
com_error: (-2147352567, ‘тут UNICODE пропущен’, (0, ‘Microsoft OLE DB Pro
vider for ODBC Drivers’, ‘тут UNICODE пропущен’, None, 0, -2147467259), None)
— ADODBAPI on command:EXEC MAIL_WARNING @Id_Laboratory=3 with parameters: None
наверно при втором использовании c.execute надо что то еще вызвать (или очистить предыдущие результаты)?
Подскажите чего не хватает? Или единственное решение: создать новый экземпляр db.cursor()? типа
Код:
c2=db.cursor()
c2.execute('select * from view2')