PostgreSQL で実行されている Django サイトがあり、いくつかのフォーム フィールドに入力するために SQL Server からデータを取得しようとしています。
SQL Server に接続し、pyodbc と FreeTDS で Python を使用して Linux サーバーからデータベースにクエリを実行できます。django ビューで同じ接続文字列を使用できるという印象を受けましたが、試してみると次のエラーが発生しました。
('01000', "[01000] [unixODBC][Driver Manager] lib '/path/to/libtdsodbc.so' を開けません: ファイルが見つかりません (0) (SQLDriverConnect)")
ファイルとフォルダーのアクセス許可を変更しようとしましたが、Python経由では接続できますが、Djangoでは接続できないと言っているように、どこにも行きません。
コマンド ラインから django アプリケーション フォルダーに接続することもできます。
manage.py shell
どんな助けでも大歓迎です。
アップデート:
ファイルは確実に存在します。Django と Python の両方が同じ ODBC および FreeTDS 構成ファイルを使用しています。
私はvirtualenvを使用しません。
初期セットアップを実行していたときの参考文献をいくつか見ました/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
が、これで解決できる問題があると Python の接続も妨げられるという印象を受けましたが、そうではないでしょうか?
更新 2:
pymssql を使用してみましたが、同様の結果が得られます。Python で動作しますが、Django では次の ImportError が発生します。
libct.so.4: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
更新 - 解決済み
PILの@bradley.ayersコメント-libjpeg.so.8:共有オブジェクトファイルを開けません:そのようなファイルやディレクトリは正しい方向に私を指し示しませんでした。