连接到 SQL Server 2014 的 FreeTDS 错误

FreeTDS error connecting to SQL Server 2014

4.2到7.2的所有版本我都试过了,好像试过的版本都不行。

查看错误日志并根据 Choosing TDS protocol,是否支持 SQL 服务器 2014?

简要错误:

Error 20017 (severity 9):
    Unexpected EOF from the server
    OS error 115, "Operation now in progress"
Error 20002 (severity 9):
    Adaptive Server connection failed

查看tsql转储的日志:

log.c:196:Starting log file for FreeTDS 0.91
        on 2016-04-05 15:35:48 with debug flags 0x4fff.
util.c:331:tdserror(0x18ec140, 0x18ec290, 100, 0)
util.c:361:tdserror: client library returned TDS_INT_CANCEL(2)
util.c:384:tdserror: returning TDS_INT_CANCEL(2)
iconv.c:330:tds_iconv_open(0x18ec290, UTF-8)
iconv.c:187:local name for ISO-8859-1 is ISO-8859-1
iconv.c:187:local name for UTF-8 is UTF-8
iconv.c:187:local name for UCS-2LE is UCS-2LE
iconv.c:187:local name for UCS-2BE is UCS-2BE
iconv.c:349:setting up conversions for client charset "UTF-8"
iconv.c:351:preparing iconv for "UTF-8" <-> "UCS-2LE" conversion
iconv.c:391:preparing iconv for "ISO-8859-1" <-> "UCS-2LE" conversion
iconv.c:394:tds_iconv_open: done
net.c:205:Connecting to 192.168.1.221 port 4712 (TDS version 7.1)
net.c:270:tds_open_socket: connect(2) returned "Operation now in progress"
net.c:310:tds_open_socket() succeeded
util.c:156:Changed query state from DEAD to IDLE
net.c:741:Sending packet
0000 12 01 00 34 00 00 00 00-00 00 15 00 06 01 00 1b |...4.... ........|
0010 00 01 02 00 1c 00 0c 03-00 28 00 04 ff 08 00 01 |........ .(......|
0020 55 00 00 00 4d 53 53 51-4c 53 65 72 76 65 72 00 |U...MSSQ LServer.|
0030 d3 52 00 00            -                        |.R..|

net.c:555:Received header
0000 48 54 54 50 2f 31 2e 31-                        |HTTP/1.1|

util.c:331:tdserror(0x18ec140, 0x18ec290, 20017, 115)
util.c:361:tdserror: client library returned TDS_INT_CANCEL(2)
util.c:384:tdserror: returning TDS_INT_CANCEL(2)
util.c:156:Changed query state from IDLE to DEAD
login.c:466:login packet rejected
util.c:331:tdserror(0x18ec140, 0x18ec290, 20002, 0)
util.c:361:tdserror: client library returned TDS_INT_CANCEL(2)
util.c:384:tdserror: returning TDS_INT_CANCEL(2)
mem.c:615:tds_free_all_results()

我不确定 SQL 服务器应该 return TDS header 像 HTTP/1.1 - 看起来你正在尝试连接到网络服务器(and/or错误的端口)。