调用存储过程python 2.7 Django 1.6.6 SQL Server

调用存储过程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'

这是我们的settings.py

'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