21

Mac で Pypyodbc を使用して SQL Server に接続しようとすると、次のエラーが発生します。

pypyodbc.DatabaseError: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'FreeTDS' : file not found")

freeTDS と unixodbc をインストールしました

brew install unixodbc
brew install freetds

そして、ここにダミーデータを含む接続文字列があります:

connection_String = "Driver=FreeTDS;Server=123.12.12.12;tds_version=7.2;Database=db_db;Uid=username:pwd=password:port=1433"
4

2 に答える 2

13

/etc/odbcinst.ini を確認するか、/etc/unixODBC/odbcinst.ini の下にある可能性があります

接続文字列には、「DRIVER=FreeTDS」のようなものがあり、そのファイルには次のようなエントリが必要です。ドライバーの場所を変更する必要がある場合があります。

[FreeTDS]
Description             = FreeTDS unixODBC Driver
Driver          = /usr/lib64/libtdsodbc.so.0
Setup           = /usr/lib64/libtdsodbc.so.0
UsageCount              = 1
于 2016-02-10T20:32:15.393 に答える
8

まず、ここでの問題である unixODBC の構成を必要としないpymssqlを使用できます。

FreeTDS を使用して unixODBC を構成するには、次の手順を実行します。http://www.unixodbc.org/doc/FreeTDS.html

FreeTDS には tsql というツールが付属しています。これを使用して、接続文字列をテストします。これは非常に必要最小限のツールであり、何かが面倒です。:-/

最後に、StackOverflow の他の問題に関する同様の質問があります: freeTDS と unixODBC を使用して SQL Server から文字列を正しく受け入れるように pyodbc を構成するにはどうすればよいですか?

于 2015-04-17T05:03:28.647 に答える