使用FreeTDS通过ODBC连接到MSSQL

时间:2015-04-20 19:09:15

标签: freetds unixodbc

我正在与一个需要从linux主机访问MSSQL数据库的小组一起工作,在我的搜索中找到FreeTDS,我可以使用FreeTDS连接,但我们的程序员声明ODBC需要为他们的PHP配置FreeTDS代码工作。话虽如此,我已经尝试在过去的一天配置unixODBC和unixODBC_23,并且在找到一个正常工作的配置时也不成功,我也无法进行跟踪工作。所以,不用多说,这是我的配置

--- odbc.ini和odbc_23.ini ---

[TC]
Description = FreeTDS Connection
Driver = FreeTDS
Database = mydb
ServerName = 192.168.1.12
TDS_Version = 7.0
PORT = 3433
[Default]
Driver          = /usr/local/freetds-0.91/lib/libtdsodbc.so

--- odbcinst.ini和odbcinst_23.ini ---

[FreeTDS]
Description = FreeTDS
Driver = /usr/local/freetds-0.91/lib/libtdsodbc.so
Trace = 1
TraceFile = /tmp/freetds.log
UsageCount = 1

当我尝试通过isql连接时,这是我收到的。

root@host(~)# isql_23 -v TC myuser mydb
[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
root@host(~)# 

任何想法都将不胜感激!

2 个答案:

答案 0 :(得分:1)

尝试使用Server而不是ServerName?

  Server = 192.168.1.12

答案 1 :(得分:0)

好的,除了更改" ServerName"之外,我还需要做一个额外的更改。到"服务器"那是我删除了#34;数据库= mydb"并将其移至" Server"现在我的文件看起来像这样:

[TC]
Description = FreeTDS
Driver = FreeTDS
Server = 192.168.1.12\mydb
TDS_Version = 7.0
PORT = 3433

现在我已经连接了这个命令:

root@host(~)# isql_23 -v TC user password
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> ^C
root@host(~)#