リモートSQLServerに接続しようとしているとき:
$tsql -S localhost -U myuser
次のようなエラーが発生しました:
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20009 (severity 9):
Unable to connect: Adaptive Server is unavailable or does not exist
OS error 61, "Connection refused"
There was a problem connecting to the server
$tsql -C
の出力は次のとおりです。
Compile-time settings (established with the "configure" script)
Version: freetds v0.91
freetds.conf directory: /usr/local/freetds/conf/freetds
MS db-lib source compatibility: no
Sybase binary compatibility: no
Thread safety: yes
iconv library: no
TDS version: 5.0
iODBC: no
unixodbc: no
SSPI "trusted" logins: no
Kerberos: no
私は次のようなリモートサーバー用のトンネルを作成しました:
$ssh -L 1433:db_server:1433 user@mid_server
これにより、ローカルポート1433がdb_serverに転送されます。私はテストしました。 Navicat(1433のローカルホスト)を使用してデータベースに接続できるため、sshトンネルは機能します。ポート1433でローカルホストにtelnetできます。
Freetds.confを変更することでうまくいく
から
[global]
# TDS protocol version
; tds version = 4.2
に
[global]
# TDS protocol version
tds version = 7.0
これは、クライアントとサーバーの両方で、Ubuntu 14.04LTSにインストールされ実行されているASE16.0で機能しました。
/ etc/hosts
.。
192.168.1.100 sybaseServer
.。
[SYBASE]
ホスト= 192.168.1.100
ポート= 5000
tdsバージョン= 5.0
これで、サーバーに接続できます。
$ tsql -S SYBASE -U sa