调用存储过程python 2.7 Django 1.6.6 SQL Server
这是我们的settings.py调用存储过程python 2.7 Django 1.6.6 SQL Server,python,sql-server,django,python-2.7,stored-procedures,Python,Sql Server,Django,Python 2.7,Stored Procedures,这是我们的settings.py 'default': { 'NAME': 'OUR_SERVER_NAME', 'ENGINE': 'sqlserver_ado', 'HOST': 'OUR_SERVER_IP', 'USER': 'USER', 'PASSWORD': 'OUR_SERVER_PASSWORD', 'PORT': '1433', 'OPTIONS'
'default': {
'NAME': 'OUR_SERVER_NAME',
'ENGINE': 'sqlserver_ado',
'HOST': 'OUR_SERVER_IP',
'USER': 'USER',
'PASSWORD': 'OUR_SERVER_PASSWORD',
'PORT': '1433',
'OPTIONS' : {
'provider': 'SQLOLEDB',
'extra_params' : 'DataTypeCompatibility=80;MARS Connection=True'
}
}
我们使用的是Django 1.6.6和python 2.7,我们试图调用此存储过程(它返回一个临时表):
但它返回一个错误:
Traceback (most recent call last):
File "C:\Program Files\eclipse indigo\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd.py", line 1346, in <module>
debugger.run(setup['file'], None, None)
File "C:\Program Files\eclipse indigo\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd.py", line 1060, in run
pydev_imports.execfile(file, globals, locals) #execute the script
File "C:\Users\rzuccotti\workspace\FIRST_ANDREA\interlem\dao\orderDao.py", line 3159, in <module>
print cursor.fetchall()
File "C:\Python27\lib\site-packages\django\db\utils.py", line 106, in inner
return func(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\db\utils.py", line 99, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Python27\lib\site-packages\django\db\utils.py", line 106, in inner
return func(*args, **kwargs)
File "C:\Python27\lib\site-packages\sqlserver_ado\dbapi.py", line 688, in fetchall
return self._fetch()
File "C:\Python27\lib\site-packages\sqlserver_ado\dbapi.py", line 642, in _fetch
self._raiseCursorError(FetchFailedError, 'Attempting to fetch from a closed connection or empty record set')
File "C:\Python27\lib\site-packages\sqlserver_ado\dbapi.py", line 466, in _raiseCursorError
eh(self.connection, self, errorclass, errorvalue)
File "C:\Python27\lib\site-packages\sqlserver_ado\dbapi.py", line 91, in standardErrorHandler
raise errorclass(errorvalue)
django.db.utils.Error: Attempting to fetch from a closed connection or empty record set
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\eclipse indigo\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd.py”,第1346行,在
运行(安装程序['file'],无,无)
文件“C:\Program Files\eclipse indigo\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd.py”,第1060行,正在运行
pydev_imports.execfile(文件、全局、局部)#执行脚本
文件“C:\Users\rzuccoti\workspace\FIRST\u ANDREA\interlem\dao\orderDao.py”,第3159行,在
打印游标。fetchall()
文件“C:\Python27\lib\site packages\django\db\utils.py”,第106行,在内部
返回函数(*args,**kwargs)
文件“C:\Python27\lib\site packages\django\db\utils.py”,第99行,在出口处
6.重新播放(dj_exc_类型、dj_exc_值、回溯)
文件“C:\Python27\lib\site packages\django\db\utils.py”,第106行,在内部
返回函数(*args,**kwargs)
文件“C:\Python27\lib\site packages\sqlserver\u ado\dbapi.py”,第688行,在fetchall中
返回自我。_fetch()
文件“C:\Python27\lib\site packages\sqlserver\u ado\dbapi.py”,第642行,在_fetch中
self.\u raiseCursorError(fetchfailedererror,'试图从关闭的连接或空记录集获取')
文件“C:\Python27\lib\site packages\sqlserver\u ado\dbapi.py”,第466行,in\u raiseCursorError
eh(self.connection、self、errorclass、errorvalue)
standardErrorHandler中第91行的文件“C:\Python27\lib\site packages\sqlserver\u ado\dbapi.py”
提高errorclass(errorvalue)
django.db.utils.Error:尝试从关闭的连接或空记录集获取
你能帮我们吗
谢谢。也许您正在尝试执行double fetchall(),因为我发现这是一种引发错误的方法。通过检查,我可以解决这个问题。我希望这对您有所帮助。也许您正在尝试执行double fetchall(),因为我发现这是一种引发错误的方法。通过检查,我可以解决这个问题。我希望这对你有帮助。
from django.db import connection
cursor = connection.cursor()
procedure = 'EXEC prova_excel %s' % orderBrand.id_file
cursor.execute(procedure)
grid = cursor.fetchall()
Traceback (most recent call last):
File "C:\Program Files\eclipse indigo\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd.py", line 1346, in <module>
debugger.run(setup['file'], None, None)
File "C:\Program Files\eclipse indigo\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc\pydevd.py", line 1060, in run
pydev_imports.execfile(file, globals, locals) #execute the script
File "C:\Users\rzuccotti\workspace\FIRST_ANDREA\interlem\dao\orderDao.py", line 3159, in <module>
print cursor.fetchall()
File "C:\Python27\lib\site-packages\django\db\utils.py", line 106, in inner
return func(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\db\utils.py", line 99, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Python27\lib\site-packages\django\db\utils.py", line 106, in inner
return func(*args, **kwargs)
File "C:\Python27\lib\site-packages\sqlserver_ado\dbapi.py", line 688, in fetchall
return self._fetch()
File "C:\Python27\lib\site-packages\sqlserver_ado\dbapi.py", line 642, in _fetch
self._raiseCursorError(FetchFailedError, 'Attempting to fetch from a closed connection or empty record set')
File "C:\Python27\lib\site-packages\sqlserver_ado\dbapi.py", line 466, in _raiseCursorError
eh(self.connection, self, errorclass, errorvalue)
File "C:\Python27\lib\site-packages\sqlserver_ado\dbapi.py", line 91, in standardErrorHandler
raise errorclass(errorvalue)
django.db.utils.Error: Attempting to fetch from a closed connection or empty record set