djangoからSQLServerをクエリする際に奇妙な問題が発生しました。
1回のリクエストでdbを2回クエリすると、エラーが発生する場合があります。つまり、最初のdbクエリが大量のデータを返すと、2回目のdbクエリ中にエラーが発生します。
詳細:
Windowsで実行されているDjango(https://bitbucket.org/Manfre/django-mssql/src)用のMicrosoftSQLServerバックエンドを使用しています。
ユーザーがフォームを介して特定のテーブル(「アクティビティ」)のデータをフィルタリングし、それをWebサイトのテーブルに表示してから、別のテーブル(「フレーム」)の関連データをマップに表示できるようにします。
class Frames(models.Model):
...
class Activity(models.Model):
frame_from = models.ForeignKey(Frames, ...)
...
問題は次のとおりです。アクティビティから大量のデータをフィルタリングする場合(たとえば、200行x 6列)、テーブルフレームで同じリクエストで他のクエリを実行することはできません(MARSはDjangosettings.pyでオンになっています):
result = Aktywnosci.objects.filter(qset1)
いつでも大丈夫ですが
path = Frames.objects.filter(qset2)
前のクエリが大量のデータを返した場合、OLEDBエラーが発生します。
'Microsoft OLE DB Provider for SQL Server'エラー:手動または分散トランザクションモードであるため、新しい接続を作成できません。
PS。からのデータベース設定settings.py
:
# Database for this installation.
DATABASES = {
'default':{
'ENGINE': 'django.db.backends.sqlserver_ado',
'NAME': '***',
'USER': '***',
'PASSWORD': '***',
'HOST': '***',
'PORT': '',
'OPTIONS' : {
'provider': 'SQLOLEDB',
'use_mars': True,
}
}
}
PS2。djang-mssqlのgoogle-codeページでこの問題に遭遇しました:http ://code.google.com/p/django-mssql/issues/detail?id = 79-しかし、新しいバージョンのパッケージ...
私はそれについて何ができますか?
前もって感謝します