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。我测试过。我的 ssh 隧道有效,因为我可以使用 Navicat(1433 上的本地主机)连接到数据库。我可以在端口 1433 上远程登录 localhost。

4

2 回答 2

4

我通过修改 freetds.conf 让它工作了

[global]
    # TDS protocol version
;   tds version = 4.2

[global]
    # TDS protocol version
tds version = 7.0
于 2013-07-18T09:19:13.993 回答
1

这适用于我在 Ubuntu 14.04 LTS 上安装和运行 ASE 16.0,客户端和服务器。

  • 服务器:确保在您的服务器 (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 回答