2

我正在使用 Django 1.2 和django-mssql

在执行以下操作时

for unicorn in Unicorn.objects.all():
    print unicorn.color

在第 100 次迭代时出现以下错误:

com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft SQL Server Nativ e Client 10.0', u'对象处于僵尸状态。当 ITransaction::Commit 或ITransaction::Abort 被调用,或者在创建存储对象但尚未释放时。',无,0,-2147418113),无 e)


任何想法?这真的让我很烦...开始讨厌整个 Windows Server 世界... :(

4

2 回答 2

1

I had a similar problem and I resolved it by forcing the full QuerySet to be retrieved before using it in the for loop. So, try this:

for unicorn in list(Unicorn.objects.all()):
    print unicorn.color
于 2010-11-26T13:27:13.203 回答
0

另一种方法是在 base.DatabaseFeature 中设置 'can_use_chunked_read = True':

sqlserver_ado/base.py:16

class DatabaseFeatures(BaseDatabaseFeatures):
    uses_custom_query_class = True
    can_use_chunked_reads = False

我刚刚设置它,错误就消失了。让我知道它是否也解决了您的问题。

于 2010-12-06T10:37:52.530 回答