11

リモート SQL Server に接続しようとしているとき:

$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 で localhost に telnet できます。

4

2 に答える 2

1

これは、クライアントとサーバーの両方で、ASE 16.0 がインストールされ、Ubuntu 14.04 LTS で実行されている場合に機能しました。

  • SERVER: サーバー (sybaseServer) の /etc/hosts にエントリがあることを確認します。標準の Ubuntu 14.04 インストールでは、これは見つかりませんが、「127.0.1.1 sybaseServer」です。しかし、sybaseはそれに依存しているようです。

/etc/hosts
...
192.168.1.100 sybaseServer
...

  • クライアント: freetds.conf のエントリは

[SYBASE]
ホスト = 192.168.1.100
ポート = 5000
tds バージョン = 5.0

これで、サーバーに接続できます。

$tsql -S SYBASE -U sa

  • 明らかに、IPアドレス、サーバー名などを独自のデータに置き換える必要があります
于 2015-02-03T10:59:55.300 に答える