2016-07-13 44 views
3

freetds v0.91 - tds版本不匹配

我想在Ubuntu 14.04上使用FreeBSD连接到Windows SQL Server。 FreeTDS使用apt-get安装。 我尝试了不同的TDS版本,下面的命令:FreeTDS不使用配置的tds版本

$ TDSVER=7.0 tsql -H xxx.xxx.xxx.xxx -U xxxx -p 1433 -P xxxxxxx

日志文件显示:

... 
net.c:205:Connecting to xxx.xxx.xxx.xxx port 1433 (TDS version 7.0) 
net.c:270:tds_open_socket: connect(2) returned "Operation now in progress" 
net.c:310:tds_open_socket() succeeded 
... 

没有问题就在这里。但是,如果我改变TDSVER至7.4:

$ TDSVER=7.4 tsql -H xxx.xxx.xxx.xxx -U xxxx -p 1433 -P xxxxxxx

的TDS版本变得4.2?

... 
net.c:205:Connecting to xxx.xxx.xxx.xxx port 1433 (TDS version 4.2) 
net.c:270:tds_open_socket: connect(2) returned "Operation now in progress" 
net.c:310:tds_open_socket() succeeded 
... 

命令$ tsql -C的输出是:

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

我试图配置TDS版本在〜/ .freetds.conf,结果是相同的。

freetds的v1.00.9 - 匹配

然后我试图建立从混帐下载的版本,并在我的主文件夹安装。似乎版本匹配:

$ TDSVER=7.4 .local/bin/tsql -H xxx.xxx.xxx.xxx -U xxxx -p 1433 -P xxxxxxx

... 
iconv.c:384:tds_iconv_open: done 
net.c:216:Connecting to xxx.xxx.xxx.xxx port 1433 (TDS version 7.4) 
net.c:242:tds_open_socket: connect(2) returned "Operation now in progress" 
net.c:343:tds_open_socket() succeeded 
... 

$ .local/bin/tsql -C输出是:

Compile-time settings (established with the "configure" script) 
          Version: freetds v1.00.9 
      freetds.conf directory: /home/bgdata/.local/etc 
    MS db-lib source compatibility: no 
     Sybase binary compatibility: no 
         Thread safety: yes 
         iconv library: yes 
         TDS version: auto 
           iODBC: no 
          unixodbc: yes 
       SSPI "trusted" logins: no 
          Kerberos: no 
          OpenSSL: no 
          GnuTLS: no 
           MARS: no 

那是v0.91或我的错误做错了什么事? 谢谢。

回答

3

FreeTDS 0.91不支持TDS版本7.4。我有一个拉请求,希望让这个文档中更加清晰:

https://github.com/FreeTDS/freetds/pull/71/files

  • freetds的1.0+支持最多TDS版本7.4
  • freetds的0.95多达TDS版本支持7.3
  • freetds的0.91多达TDS版本支持7.2

此外,从来使用8.0,除非你使用的是旧版本的FreeTDS(你不应该在这一点上)非常。这也是文档中涉及的一个长篇故事,但是网络上有很多关于推荐的“指南”。它恢复到版本7.0,并可能产生问题。

相关问题