Linux下連接MS Sql server -- 使用ODBC/FreeTDS組合(詳細)_徒步旅行者的空間_百度空間
Linux下連接MS Sql server -- 使用ODBC/FreeTDS組合(詳細)
最近工作上需要,了解了下相關內容,網上資料較散,邏輯也不夠清晰,這里總結了一下,算是比較全面的(部分內容來自網絡)。
在Linux下連接MSSql server,可以使用ODBC/FreeTDS組合。
TDS is Tabular DataStream protocol, used for connecting to MS SQL and Sybase servers over TCP/IP.
FreeTDS is an implementation of TDS.It provide the odbc driver for TDS named tdsodbc.
?
安裝unixODBC和freeTDS
unixODBC是Linux下的ODBC驅動管理器,使用yum install unixODBC*?安裝unixODBC。
freeTDS提供Linux下連接Sybase或MSSql Server的ODBC驅動tdsodbc,使用yum install freetds* 安裝freetds。(Ubuntu下使用aptitude install tdsodbc 直接安裝freetds提供的tdsodbc驅動)
tsql是對應于freetds的連接數據庫的命令行工具,用來調試是否連接數據庫成功(Ubuntu下使用$aptitude install freetds-bin安裝)
配置freeTDS
Freetds配置文件在/etc/freetds/freetds.conf 或 /etc/freetds.conf
編輯配置文件,增加一個數據庫連接段落:
[MY_MS_SQL]
host = 192.168.2.104
port = 1433
tds version = 7.0
上面MY_MS_SQL是SqlserverName,可以是自己取的有意義名字。host為sqlserver所在主機IP地址或域名。
配置完后,可以使用tsql測試,tsql -S MY_MS_SQL -U username -P password,看到1>提示符就是成功。
如果連接不成功,可以先在數據庫服務器上的SQL Server配置管理器上的網絡配置看TCP/IP協議是否啟用,然后看在服務器上telnet1433端口,看是否端口開放。
需要注意服務器的防火墻配置,可在客戶機telnet 1433端口看連接成功否。
以上是直接使用freeTDS自帶的tsql工具連接MS SQL數據庫測試tdsodbc驅動是否安裝正確的方法。
?
下面我們來配置unixODBC來管理tdsodbc驅動,并調用tdsodbc來連接MS SQL數據庫
a)向unixODBC注冊tdsodbc驅動
在任意處創建一個文件tds.driver.template eg:/var/tds.driver.template,內容如下:
[FreeTDS]?
Description ? ? = v0.63 with protocol v8.0?
Driver ? ? ? ? ?= /usr/local/freetds/lib/libtdsodbc.so
使用命令odbcinst -i -d -f /var/tds.driver.template 注冊驅動
以上Driver地址根據實際位置修改
此處亦可以直接vi編輯/etc/odbcinst.ini添加
?
b)配置ODBC數據源,即配置DSN
配置有三種方法:DSN-less,ODBC-only,ODBC-combined
可參見Preparing ODBC。http://www.freetds.org/userguide/prepodbc.htm
同上,創建一個文件tds.datasource.template內容如下:
[MY_MS_SQL_DSN]
Driver ? ? ? ? ?= FreeTDS
Description ? ? = ODBC connection via FreeTDS
Trace ? ? ? ? ? = No
Servername ? ? ?= MY_MS_SQL
Database ? ? ? ?= ACUMEN
使用命令odbcinst -i -s -f /var/tds.datasource.template 添加數據源到/etc/odbc.ini
Servername為Freedts配置文件中的SqlserverName;Driver為odbcinst.ini中注冊的驅動名稱;Database 為使用的數據庫。
最后用isql測試:isql MY_MS_SQL username password,如果出現SQL>提示符就說明配置成功
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
