5

Redhat Linux を Microsoft SQL Server 2008 に接続しようとしています。既に Windows (テスト マシン) でのセットアップに問題がありましたが、本番環境にある Linux マシンにデプロイする必要があります。

だから私はunixODBCとFreeTDSをインストールしました(多くの努力を払って、正しくインストールされたかどうかさえわかりません:S)、その結果、次の3つのファイルがあります/usr/local/etc

odbc.ini
odbcinst.ini
freetds.conf

次に、ファイルを編集し、freetds.confこれを追加しました。

[sqlServer]
host = servername
port = 4113
instance = sqlServer
tds version = 8.0
client charset = UTF-8

ポート番号は SQL Server 2008 で動的に設定されているため、DBA から確認する必要がありました。

私のodbcinst.iniファイルは次のようになります。

[FreeTDS]
Description     = TDS driver (Sybase/MS SQL)
Driver          = /usr/local/lib/libtdsodbc.so
Setup           = /usr/local/lib/libtdsS.so
CPTimeout       =
CPReuse         =
FileUsage       = 1

私のodbc.iniファイルは次のようになります。

[sqlServer]
Driver = FreeTDS
Description     = ODBC connection via FreeTDS
Trace           = 1
Servername      = sqlServer
Database        = RubyApp

だから今、接続してみました

tsql -S sqlServer -U test -P test、ただし、次のエラーのみが表示されます。

locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20013 (severity 2):
        Unknown host machine name.
There was a problem connecting to the server

isql を使用して を実行しようとするとisql -v sqlServer test test、次のエラーが発生しました。

[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name.
[ISQL]ERROR: Could not SQLConnect

私が間違っている可能性のあるアイデアはありますか?

4

2 に答える 2

1

tsql に接続できない場合は、SQL サーバーまたは に接続の問題がありますfreetds.conf

最初にポートと名前付きインスタンスを確認しますtsql -LH [SQL server IP]

# tsql -LH 127.0.0.1
  ServerName HOME
InstanceName INSTANCE1
 IsClustered No
     Version 10.50.2500.0
         tcp 1434

これが機能しない場合は、サーバーと SQL サーバーの間に接続の問題があります。

うまくいく場合は、上記の のtcpfreetds.confと一致するようにポートを設定します。

[TDS]
host = 127.0.0.1
port = 1434
tds version = 7.0

インスタンスはあなたに設定されていますodbc.ini

[MSSQLExample]
Description = Example server
Driver = FreeTDS
Trace = No
Server = 127.0.0.1\INSTANCE1
Database = MyDatabase
port = 1434

他のすべてが失敗した場合は、 を使用osqlして、どの部分が機能していないかについてのフィードバックを取得してみてください。

# osql -S MSSQLExample -U USERNAME -P PASSWORD

また、tsql エラー メッセージに関する適切な情報については、http://freetds.schemamania.org/userguide/confirminstall.htm を参照してください。

于 2013-01-08T20:53:13.870 に答える
0

freetds.conf ファイルに SQL Server のホスト名または IP アドレスは必要ありませんか --

[sqlServer]
host = 192.168.0.99
:
于 2011-09-27T11:35:29.360 に答える