13

ODBC経由でMSSQLをUbuntu 12.04で動作させようとしていますが、次の手順を忠実に実行しました。

http://jamesrossiter.wordpress.com/2011/03/08/connecting-to-microsoft-sql-server-using-odbc-from-ubuntu-server/

ただし、これにより、odbcinst.ini で指定されている次のファイルが両方とも省略されます。

Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so

それで、私は少しググって、これを見つけました:

http://ubuntuforums.org/showthread.php?t=433435&page=2

そのため、これらの指示に従い、libtdsodbc.so を /usr/lib/odbc/ に配置しましたが、それでも次のエラーが発生します。

Can't open lib '/usr/lib/odbc/libtdsodbc.so' : file not found, SQL state 01000 in SQLConnect

しかし...

root@ubuntu:/usr/lib/odbc# ls -la
total 552
drwxr-xr-x  2 root root   4096 Aug 19 20:12 .
drwxr-xr-x 62 root root  12288 Aug 19 19:41 ..
-rwxrwxr-x  1 root root 270608 Aug 19 20:00 libtdsodbc.so

そのファイルで chmod 775 を試しました。これにより、アクセス許可が説明されます。まだ運がありません。

何か案は?私は困惑しています。これを私のLinuxボックスで動作させたいと思っています。

編集: Ubuntu 64 ビットを使用しています。これが問題だと思います。それが役立つことを願っています...

EDIT2:ここから64ビットパッケージを手動で取得しようとしました:

http://www.ubuntuupdates.org/package/core/precise/main/base/tdsodbc

そして、次のようなファイルがあることがわかりました。

/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so

うーん、たぶん64ビット版ですよね?

そのため、odbcinst.ini を指定しましたが、機能しませんでした。

4

2 に答える 2

23
sudo apt-get install freetds-dev

また

sudo apt-get install tdsodbc

32 ビットの場合は次を参照してください。

/usr/lib/i386-linux-gnu/odbc/libtdsodbc.so

または 64 ビット:

/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
于 2013-04-12T13:11:57.560 に答える
1

このリストサーブの投稿の助けを借りて、最終的に解決しました。

http://mailman.unixodbc.org/pipermail/unixodbc-support/2008-November/001842.html

を除外する:

Driver = TDS

次のようにする必要があります。

Driver = FreeTDS

私が手動で見つけなければならなかったその奇妙な64ビットドライバーも関連していたので、freetds.confを無視することが道でした。

楽しいもの。

于 2012-08-20T04:05:12.813 に答える