Sql server 无法连接:自适应服务器不可用或不存在

Sql server 无法连接:自适应服务器不可用或不存在,sql-server,freetds,Sql Server,Freetds,尝试连接远程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

尝试连接远程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_服务器。我做了测试。我的ssh隧道可以工作,因为我可以使用Navicat(1433上的localhost)连接到数据库。我可以在端口1433上telnet localhost。

我可以通过修改freetds.conf来实现它


在安装ASE16.0并在Ubuntu14.04LTS(客户端和服务器)上运行的情况下,这对我来说是可行的

  • 服务器:确保服务器(sybaseServer)的/etc/hosts中有一个条目。在标准的Ubuntu14.04安装中,您不会发现这个,而是“127.0.1.1 sybaseServer”。但sybase似乎依赖于此
/etc/主机

192.168.1.100 sybaseServer

  • 客户端:freetds.conf中的条目是
[SYBASE]
主机=192.168.1.100
端口=5000
tds版本=5.0

现在您可以连接到服务器:

$tsql-S SYBASE-U sa

  • 显然,您必须用自己的数据替换IP地址、服务器名等
[global]
    # TDS protocol version
;   tds version = 4.2
[global]
    # TDS protocol version
tds version = 7.0