我正在尝试将 Redhat Linux 连接到 Microsoft SQL Server 2008。我已经在 Windows(我的测试机器)上设置它时遇到了麻烦,但现在我需要将它部署在将用于生产的 Linux 机器上。
所以我安装了 unixODBC 和 FreeTDS(付出了很多努力,甚至不确定它是否安装正确:S),结果是我有 3 个文件/usr/local/etc
:
odbc.ini
odbcinst.ini
freetds.conf
然后我编辑了freetds.conf
文件,这就是我添加的内容:
[sqlServer]
host = servername
port = 4113
instance = sqlServer
tds version = 8.0
client charset = UTF-8
我必须从我的 DBA 那里找出端口号,因为它在 SQL Server 2008 中设置为动态。
我的odbcinst.ini
文件如下所示:
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/local/lib/libtdsodbc.so
Setup = /usr/local/lib/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 1
我的odbc.ini
文件如下所示:
[sqlServer]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = 1
Servername = sqlServer
Database = RubyApp
所以现在我尝试使用连接来查看是否有任何连接
tsql -S sqlServer -U test -P test
,但是这只给了我以下错误:
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20013 (severity 2):
Unknown host machine name.
There was a problem connecting to the server
当我尝试使用 isql,doingisql -v sqlServer test test
时,会吐出以下错误:
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name.
[ISQL]ERROR: Could not SQLConnect
有什么想法我可能做错了吗?