利用 FreeTDS 連接 MSSQL
Linux 的好用方便迅速大家都知道,但是總有些時候對方會跟你說,什麼Linux啊,不是都滑鼠點幾下就好了嗎? 偏偏這時候你要的資料又在對方的機器上,想說不都很難。 只好研究起怎麼利用 Linux 底下的工具來查詢 MSSQL 的資料了。
[more]
要在 Linux 底下連接 MSSQL 需要安裝一些元件,分別是 freetds, unixodbc,我在 ubuntu 跟 CentOS 底下都有找到,應該是沒什麼問題。
安裝完兩個套件之後需要做一點設定讓 freetds 知道怎麼溝通還有去哪裡查資料。
/etc/freetds.conf
[ALIAS_MACHINE_NAME]
host = MACHINE_NAME_OR_IP
port = 1433
tds version = 7.3
#http://www.freetds.org/userguide/choosingtdsprotocol.htm
/etc/odbc.ini
[ALIAS_MACHINE_NAME]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
/etc/odbcinst.ini
[FreeTDS]
Description = MS SQL database access with Free TDS
Driver64 = /usr/lib64/libtdsodbc.so
Setup64 = /usr/lib64/libtdsS.so
FileUsage = 1
設定完之後就可以在命令列下指令查詢囉
tsql -S ALIAS_MACHINE_NAME -U USERNAME -P PASSWORD
下完之後看有沒有進去,命令列應該會變成像是這樣
1>
比較特別要注意的是,利用這個模式下查詢的話,最後一行要打 go 才會真的去跑,平常 IDE 用太久它會自動幫忙下,卡在這邊卡好久。
他也可以配合 python 來做一些處理,只要用 pip 裝 pymssql 就可以了,至於用法在這邊就不贅述,上面有設定好的話應該都沒有什麼問題才是。