在 Mac OS X 10.6 上使用 FreeTDS 连接到 MS SQL Server 2005

在 Mac OS X 10.6 上使用 FreeTDS 连接到 MS SQL Server 2005

我使用 +mssql 变体(设置 dblib 并将默认 tds 版本设置为 8.0)从 macports 构建了 freetds 0.82。我现在尝试使用 tsql 连接到我的数据库服务器(MSSQL Server 2005),但只有当我将 tds 版本覆盖为 4.2 时它才有效。如果我将其设置为任何其他值,我会得到以下错误输出。

> TDSVER=8.0 tsql -h <host> -p <port> -U <user> -P<password>
locale is "en_US.utf-8"
locale charset is "utf-8"
Msg 20017, Level 9, State -1, Server OpenClient, Line -1
Unexpected EOF from the server
Msg 20002, Level 9, State -1, Server OpenClient, Line -1
Adaptive Server connection failed
There was a problem connecting to the server

如果我使用 TDSVER=4.2,它就可以正常工作。有人知道如何解决这个问题吗?

答案1

在这里找到答案:http://jonkinney.com/articles/2009/11/23/change-locale-on-os-x-snow-leopard-for-freetds-function

问题是我的语言环境编码需要设置为 UTF-8

export LC_ALL=en_US.UTF-8

之后,我就能连接 TDS 协议 8.0 版本了。

相关内容