2

OSX で Go、FreeTDS、および unixODBC をセットアップしています。https://code.google.com/p/odbc/wiki/InstallingUnixODBCOnOSXの指示に従いました。テストを実行しようとすると、次のようになります。

[ODBC Driver Manager] Data source name not found and no default driver specified

port は unixODBCFreeTDS の両方をインストールしますが、この問題を解決するには何が必要ですか?

4

3 に答える 3

4

私の意見では、最善の方法は、DSN を使用しない構成を使用することです。これは、サーバー インスタンスへの接続に必要なすべての情報を ODBC 接続文字列にエンコードする場合です。このアプローチの利点は、FreeTDS ODBCドライバーが適切にインストールされていることを確認する以外に、クライアント マシンの構成がまったく必要ないことです。

FreeTDSただし、この種のセットアップに適用される 2 つの警告に注意してください。

  • Port接続文字列キーを使用する必要があります。これは通常1433、Microsoft® SQL Server™ に接続している場合です。
  • FreeTDS のデフォルトのTDS プロトコルバージョンは非常に低く、たとえば5.0です。

    これをオーバーライドするには、TDS_Version接続文字列キーを使用する必要があります。適切な値に設定するautoか、適切な値に設定します。

    • Microsoft® SQL Server™ 7.0 → 7.0
    • 〃2000→7.1
    • 〃 2005 → 7.2
    • 〃 2008 → 7.3
    • 〃 2012 → 7.4

    7.2 は、現在サポートされている最大の TDS プロトコル バージョンのように見えますFreeTDSが、実際には、varbinary(max).

于 2013-11-11T11:15:11.157 に答える
2

Linux では、odbcinst を使用してデータ ソースを登録しますが、libtdsodbc.so がどこにあるかを知る必要があります。

私のMacでは、入れられました

/opt/local/lib/libtdsodbc.so

それがインストールされた場所でない場合は、次のようにしてその場所を見つけます。

sudo find / -name "libtdsodbc.so"

次に、次の内容を含む「tds.driver.template」というファイルを作成します。

[FreeTDS]
Description = Open source FreeTDS Driver
Driver =/opt/local/lib/libtdsodbc.so

次に実行します

sudo odbcinst -i -d -f tds.driver.template
于 2013-11-11T04:39:31.347 に答える