尝试从tsql连接到sql-azure时,从服务器读取失败

Mar*_*ffx 6 freetds azure-sql-database

我正在尝试从Ubuntu 12.04连接到SQL-Azure.

我用openssl和libiconf编译了freeTds-0.91

tsql -H XXXXXXXX.database.windows.net -U Username -D DatabaseName -p 1433 -P Password
Run Code Online (Sandbox Code Playgroud)

我尝试使用上面的语句连接,我收到此错误:

locale is "en_ZA.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Default database being set to DatabaseName
Error 20004 (severity 9):
    Read from the server failed
    OS error 104, "Connection reset by peer"
Error 20002 (severity 9):
    Adaptive Server connection failed
There was a problem connecting to the server
Run Code Online (Sandbox Code Playgroud)

我的tsql -C输出:

Compile-time settings (established with the "configure" script)
                        Version: freetds v0.91
         freetds.conf directory: /usr/local/etc
 MS db-lib source compatibility: no
    Sybase binary compatibility: no
                  Thread safety: yes
                  iconv library: yes
                    TDS version: 5.0
                          iODBC: no
                       unixodbc: no
          SSPI "trusted" logins: no
                       Kerberos: no
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到有关原因和解决方法的任何信息.

任何帮助都会得到很大的帮助.

Mar*_*ffx 14

该错误是由使用错误版本的TDS引起的.

要解决,只需在tsql命令之前指定TDS版本:

TDSVER=8.0 tsql -H XXXXXXXX.database.windows.net -U Username -D DatabaseName -p 1433 -P Password
Run Code Online (Sandbox Code Playgroud)

  • 2015年14.04 LTS更新:使用`TDSVER = 7.1`代替.请参阅:http://stackoverflow.com/q/10889294/272735 (2认同)