выполнить процедуру хранилища sqlserver, используя python - PullRequest
0 голосов
/ 03 ноября 2010

У меня есть этот код

from win32com.client import Dispatch  

connection_string = "Provider=SQLNCLI;server=%s;initial catalog=%s;user id=%s;password=%s"%(server,db_name,user,pwd)  

dbConn = Dispatch("ADODB.Connection")  

dbConn.Open( connection_string )  

( rs, result ) = s.dbConn.Execute( query_string )

while not rs.EOF:
   for field in rs.Fields :
      dic[str( field.name )] = str( field.value )
      print dic
      rs.MoveNext()

он отлично работает при операциях 'select', 'insert' и 'update'.

код выполняет процедуры сохранения, но закрывает записьустанавливается перед статуей while.

вот ошибка:

... pywintypes.com_error: (-2147352567, 'Исключение произошло.', (0, u'ADODB.Recordset ',Операция не разрешена, когда объект закрыт. '...

1 Ответ

0 голосов
/ 03 ноября 2010

Не уверен, поможет ли это, но вот как это сделать с pyODBC:

        cn = pyodbc.connect("DSN=myDBName")
        cn.autocommit = True
        cr = cn.cursor()
        cr.execute("set nocount on")
        cr.execute("exec myStoredProc")
        ...
        cr.close()
        cn.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...