SQLServer に保存され、django-pyodbc を使用してアクセスされるモデルがいくつかあります。サーバー上ではコードは正常に動作していますが、開発マシンでは、空の文字列であるべきフィールドに単一のスペース文字が含まれるモデルが返されることがわかり始めました。
isql コマンドを使用すると、次の出力が得られます。
発達:
SQL> SELECT MyField FROM MyTable WHERE MyField = ' '
SQLRowCount returns 62
SQL> SELECT MyField FROM MyTable WHERE MyField = ''
SQLRowCount returns 0
サーバ:
SQL> SELECT MyField FROM MyTable WHERE MyField = ' '
SQLRowCount returns 62
SQL> SELECT MyField FROM MyTable WHERE MyField = ''
SQLRowCount returns 62
サーバー上のクエリにどれだけの空白を追加しても、常に同じ数の結果が返されます。
私たちの開発マシンは同じデータベースから読み取り、同じバージョンの django-pyodbc を使用していますが、異なる DB ユーザーと接続しています。私たちのデスクトップはpython-odbc 2.1.7-1build1でUbuntu 11.10を実行しており、サーバーにはpyodbc-2.1.8でGentoo(私の決定ではありません)があります。
以前にこのエラーに遭遇した人はいますか? 原因は何ですか?