4

Ubuntu で ROR アプリケーションから SQL Server に接続しようとしました。そのために、次のことを行いました。

Ubuntu 10.04 に次のライブラリをインストールしました

  • unixodbc
  • unixodbc-dev
  • freetds-dev
  • libdbd-odbc-ruby
  • tdsodbc

これらをインストールした後、dsn を作成し、odbc.ini ファイルと freetds.conf ファイルに必要な変更を加えました。

次に、以下のように「tsql」を使用して接続をテストしました

tsql -S <dsn name> -U <username> -P <pwd>

このコマンドでは、次のエラーが発生します

Adaptive Server is unavailable

freetds のログも確認しました。それは「接続タイムアウト」と言っています。

SQL Server 側の構成 (リモート) に問題はないと確信しています。

実行tsql -Cすると、TDS バージョンが 5 であると表示されます。最新の FreeTDS バージョンをインストールしたため、TDS 5 がどのように表示されるかわかりません。また、TDS のバージョンを更新する方法がわかりません。

参考までに、TDS バージョン 5 は SQL Server との接続に使用できないと聞きました。そうですか?

ガイドしてください

ありがとう、ネオ

4

2 に答える 2

1

freetds.conf を使用すると、使用する TDS プロトコルのバージョンを指定できます。セクションまたはサーバー用に追加したセクションのtds version = 8.0下にを追加するだけです。[global]指定しない場合、デフォルトでバージョン 5.0 になります。詳細については、http: //www.freetds.org/userguide/freetdsconf.htm をご覧ください。

于 2010-12-09T17:49:10.937 に答える
0

これは特定の質問に対する回答ではないことは承知していますが、前回 Linux から SQL Server に移行しようとしたときのアドバイスです。2009年に遡るので、それ以来何かが変わっている可能性があります.

とにかく、私たちはそれをあきらめてJRubyを使うことに決めました。

activerecord-jdbc-adapterを使用して接続を確立して実行するための労力はほとんどかからず、互換性の問題も発生していません。(私はそれを取り戻します。主キー、ID 列、または "id" という名前の列を持たないテーブルから mssql の限られた行を選択していた場所で、修正しなければならなかった問題が 1 つあります)

私はあなたがしようとしているように、過去にそれを機能させることができましたが、JRuby で経験しなければならなかったよりもずっと多くの努力が必要でした。

于 2011-04-06T13:13:10.770 に答える