freetds 无法识别任何配置文件中的版本
freetds not recognizing version from any config files
不知道为什么...
我在 /etc/freetds/freetds.conf、/usr/share/freetds/freetds.conf 和 ~/.freetds.conf
中有相同的 conf 文件
# $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
#
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
#
# For information about the layout of this file and its settings,
# see the freetds.conf manpage "man freetds.conf".
# Global settings are overridden by those in a database
# server specific section
[global]
# TDS protocol version
tds version = 7.4
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
# A typical Sybase server
[egServer50]
host = symachine.domain.com
port = 5000
tds version = 5.0
# A typical Microsoft server
[egServer70]
host = ntmachine.domain.com
port = 1433
tds version = 7.0
[cdcods]
host = *my_host*
port = 1433
tds version = 7.4
其中 my_host 是我实际的 mssql 主机。我正在连接到 MSSQL 2012,所以我认为 7.4 是正确的。
我使用的命令是$tsql -S cdcods -U 'my_domain\my_user' -P 'my_pass'
这是日志:
log.c:196:Starting log file for FreeTDS 0.91
on 2017-02-03 13:20:19 with debug flags 0x4fff.
iconv.c:330:tds_iconv_open(0x15749f0, 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" <-> "ISO-8859-1" conversion
iconv.c:394:tds_iconv_open: done
net.c:207:Connecting to *my_host* port 1433 (TDS version 4.2)
net.c:272:tds_open_socket: connect(2) returned "Operation now in progress"
net.c:312:tds_open_socket() succeeded
util.c:156:Changed query state from DEAD to IDLE
login.c:572:NT login not support using TDS 4.x or 5.0
util.c:156:Changed query state from IDLE to DEAD
util.c:331:tdserror(0x15749c0, 0x15749f0, 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()
您是 运行 FreeTDS v0.91,不支持 TDS 7.4 版。 IIRC它支持的最高是7.2。正在尝试使用 7.2 版。
如果您想使用 TDS 版本 7.3,您至少需要 FreeTDS 0.95,如果您想要 7.4,您需要 FreeTDS 1.0。
我有一个 PR 来澄清这一点,但它还没有被推送到文档中。
祝你好运!
不知道为什么...
我在 /etc/freetds/freetds.conf、/usr/share/freetds/freetds.conf 和 ~/.freetds.conf
中有相同的 conf 文件# $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
#
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
#
# For information about the layout of this file and its settings,
# see the freetds.conf manpage "man freetds.conf".
# Global settings are overridden by those in a database
# server specific section
[global]
# TDS protocol version
tds version = 7.4
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
# A typical Sybase server
[egServer50]
host = symachine.domain.com
port = 5000
tds version = 5.0
# A typical Microsoft server
[egServer70]
host = ntmachine.domain.com
port = 1433
tds version = 7.0
[cdcods]
host = *my_host*
port = 1433
tds version = 7.4
其中 my_host 是我实际的 mssql 主机。我正在连接到 MSSQL 2012,所以我认为 7.4 是正确的。
我使用的命令是$tsql -S cdcods -U 'my_domain\my_user' -P 'my_pass'
这是日志:
log.c:196:Starting log file for FreeTDS 0.91
on 2017-02-03 13:20:19 with debug flags 0x4fff.
iconv.c:330:tds_iconv_open(0x15749f0, 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" <-> "ISO-8859-1" conversion
iconv.c:394:tds_iconv_open: done
net.c:207:Connecting to *my_host* port 1433 (TDS version 4.2)
net.c:272:tds_open_socket: connect(2) returned "Operation now in progress"
net.c:312:tds_open_socket() succeeded
util.c:156:Changed query state from DEAD to IDLE
login.c:572:NT login not support using TDS 4.x or 5.0
util.c:156:Changed query state from IDLE to DEAD
util.c:331:tdserror(0x15749c0, 0x15749f0, 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()
您是 运行 FreeTDS v0.91,不支持 TDS 7.4 版。 IIRC它支持的最高是7.2。正在尝试使用 7.2 版。
如果您想使用 TDS 版本 7.3,您至少需要 FreeTDS 0.95,如果您想要 7.4,您需要 FreeTDS 1.0。
我有一个 PR 来澄清这一点,但它还没有被推送到文档中。
祝你好运!