使用FreeTDS通过ODBC连接到MSSQL
问题描述:
我正在与一组需要从Linux主机访问MSSQL数据库并在我的搜索中发现的FreeTDS,我可以与FreeTDS连接,但我们的程序员声明ODBC将要求用FreeTDS配置他们的PHP代码来工作。据说,我曾试着在过去的一天里配置了unixODBC和unixODBC_23,并且在找到可正常工作的配置方面一直没有成功,而且我也无法获得跟踪工作。因此,事不宜迟,这里是我的配置使用FreeTDS通过ODBC连接到MSSQL
--- 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连接时,这里是我收到的。
[email protected](~)# 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
[email protected](~)#
任何想法将不胜感激!
答
尝试Server而不是ServerName?
Server = 192.168.1.12
答
好了,还有的是,我不得不做出除了改变“服务器名称”一个额外的变化来“服务器”,这是我删除“数据库= mydb的”,并将其移动到“服务器”和现在我的文件看起来像这样:
[TC]
Description = FreeTDS
Driver = FreeTDS
Server = 192.168.1.12\mydb
TDS_Version = 7.0
PORT = 3433
现在有了这个命令即时通讯连接:
[email protected](~)# isql_23 -v TC user password
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> ^C
[email protected](~)#
,似乎有帮助!现在即时连接,但我的凭证失败。很确定我能弄清楚其余的。非常感谢Philippe! – 1lowlysysadm