freetds v0.91 - tds 版本不匹配
我想在 Ubuntu 14.04 上连接到带有 FreeBSD 的 Windows SQL Server。
FreeTDS 使用 apt-get 安装。
我使用以下命令尝试了不同的 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
is :
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
我尝试在~/.freetds.conf中配置tds版本,结果是一样的。
freetds v1.00.9 - 匹配
然后我尝试构建从 git 下载的版本并安装在我的主文件夹下。看来版本是匹配的:
$ 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
is:
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 的错误还是我做错了什么?
谢谢。