SQL Server Linux ODBC ドライバーの Microsoft チュートリアルに従った後、Ubuntu 14 でも同じ問題が発生しました。
ファイルは存在し、ldd を実行した後、依存関係が見つからないことが示されました:
/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:バージョン GLIBCXX_3.4.20' not found (required by /opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0)
/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version
CXXABI_1.3.8' が見つかりません (
しばらく検索したところ、Ubuntu のレポジトリにはバージョン 3.4.20 の GLIBCXX がなく、3.4.19 だったことがわかりました。
次に、Ubuntu にレポを追加して更新し、強制的に libstdc++6 にアップグレードしました
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libstdc++6
問題が解決され、isql でテストされました:
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
その後、pdo_odbc (PHP) を使用してテストを試みたところ、同じドライバーが見つからないというエラーが表示されました。これを解決するには、libodbcinst.so.2
を修正するためのシンボリック リンクを作成する必要がありました。 :
sudo ln -s /usr/lib64/libodbcinst.so.2 /lib/x86_64-linux-gnu/libodbcinst.so.2
ここで私に合った答えを見つけました。これは python 2.7 用です (したがって、python 3.x のソリューションを探している人にはうまくいかないかもしれません)。
推奨される解決策は、libgcc を更新することです:4.8.5-2 --> 5.2.0-0
libgcc を更新するには、このコマンドを使用します
conda update libgcc
「ファイルが見つかりません (0) (SQLDriverConnect)」という同じ問題がありました MAC OS では次のコード
<ブロック引用>cnxn =pyodbc.connect('DRIVER={SQL Server 用 ODBC ドライバー 13};SERVER=myServerIP,1433;DATABASE=myDBName;UID=sa;PWD=dbPassword')
2日間グーグルで調べた後、freetds.conf、odbcinst.ini、およびodbc.iniを変更しても問題を修正できません
最後に、DRIVER を置き換えることで解決策を見つけました 値
<ブロック引用>cnxn =pyodbc.connect('ドライバー={/usr/local/lib/libmsodbcsql.13.dylib};SERVER=myServerIP,1433;DATABASE=myDBName;UID=sa;PWD=dbPassword')
私の開発環境
- MAC OS エル キャピタン
- Anaconda の Python 3.6.1