Django и SQL Server 2005 - статус зомби?

Я использую Django 1.2 и django-mssql.

Выполняя следующее

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

На 100-й итерации я получаю следующую ошибку:

com_error: (-2147352567, 'Возникло исключение.', (0, u'Microsoft SQL Server Nativ e Client 10.0', u'Объект находится в состоянии зомби. Объект может перейти в состояние зомби, когда либо ITransaction::Commit, либо ITransaction::Abort вызывается, или когда объект хранения был создан и еще не освобожден.', None, 0, -2147418113), Non e)


Любая идея? Это действительно беспокоит меня... начинает ненавидеть весь мир Windows Server...:(

2 ответа

У меня была похожая проблема, и я решил ее, заставив получить полный QuerySet, прежде чем использовать его в цикле for. Итак, попробуйте это:

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

Другой способ - установить 'can_use_chunked_read = True' в base.DatabaseFeature:

sqlserver_ado / base.py: 16

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

Я просто установил его, и ошибка исчезла. Дайте мне знать, если это тоже решит вашу проблему.

Другие вопросы по тегам