2015-04-20 222 views
0

我正在與一組需要從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](~)# 

任何想法將不勝感激!

回答

0

嘗試Server而不是ServerName?

Server = 192.168.1.12 
+0

,似乎有幫助!現在即時連接,但我的憑證失敗。很確定我能弄清楚其餘的。非常感謝Philippe! – 1lowlysysadm

0

好了,還有的是,我不得不做出除了改變「服務器名稱」一個額外的變化來「服務器」,這是我刪除「數據庫= 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](~)#