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
Я просто установил его, и ошибка исчезла. Дайте мне знать, если это тоже решит вашу проблему.