私は今日、同様の問題のデバッグに長い時間を費やしました。 freetds.confで「TDSバージョン」を設定しましたが、ODBC接続で使用されていませんでした。 freetdsソースコード(connectparams.c:odbc_parse_connect_string)を読んだ後、私は次のことを発見しました:
- 接続文字列で「SERVER=」が使用されている場合、freetds.confとodbc.iniの両方が無視されます
- 接続文字列で「SERVERNAME=」が使用されている場合は、適切なfreetds.confサーバーの設定が使用されます
- 接続文字列で「DSN=」が使用されている場合は、適切なodbc.iniDSNの設定が使用されます
odbcinst.iniは赤いニシンです。 FreeTDSは設定をチェックしません。
接続文字列で指定する設定 常に尊重されます。また、TDSVERなどの環境変数も常に尊重します。