Linux環境Perl程式連接Windows SQL Server全攻略
在Linux環境Perl程式連接Windows SQL Server需要先安裝unixODBC等工具,才能讓Perl順利連接MSSQL,以下為其設定步驟:
Step1:安裝unixODBC
請將下載後之軟體放至/usr/local/software
#cd /usr/local/software
#tar xzvf unixODBC-2.3.0.tar.gz
#cd unixODBC-2.3.0
#./configure --prefix=/usr/local/unixODBC --enable-gui=no
#make
#make install
Step2:安裝freetds
#cd /usr/local/software
#tar vxzf freetds-0.62.4.tar.gz
#cd freetdss-0.62.4
#./configure --prefix=/usr/local/freetds --enable-msdblib --with-tdsver=8.0
#make
#make install
Step3:安裝DBD-ODBC
在安裝前要先設置環境變數
#export DBHOME=/usr/local/unixODBC
#cd /usr/local/icinga/software
#tar vxzf DBD-ODBC-1.35.tar.gz
#cd DBD-ODBC-1.35
#perl Makefile.PL
#make
#make install
注意: (有時會出現make不到狀況,需將/usr/local/unixODBC/bin和/usr/local/freetds/bin中的資料全部複製至/usr/local/bin中)
在CenOS5.x版本可能會出現
perl: symbol lookup error: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/ODBC/ODBC.so: undefined symbol: my_snprintf此訊息
請改安裝DBD-ODBC-1.43
Step4:設置freetds
#cd /usr/local/freetds
#vi etc/freetds.conf
請將資料設定如右圖(ip為測試使用,請依實際連接ip設定)
其中[MssqlServer]代表在client端使用的服務名稱,host代表SQLServer服務
所在Ip位址,port代表Mssql預設連接阜,dump file為log檔路徑
(圖)freetds.conf設定
而後進行測試連接,以利確認設定無誤。
#cd /usr/local/freetds/bin
#tsql –S MssqlServer –H 10.20.202.103 –p 1433 –U sa
#quit
(圖)freetds連線測試
Step5:設置unixODBC
#cd /usr/local/unixODBC
向ODBC添加SQLServer驅動
#vi etc/odbcinst.ini
請將資料設定如下
(圖)odbcinst.ini設定
(圖)odbcinst.ini 64位元設定
Step6:設置欲連接的Windows MSSQL資訊
#vi etc/odbc.ini
請將資料設定如圖
(圖)odbc.ini 設定
而後進行測試連接,以利確認設定無誤。
#cd /usr/local/unixODBC/bin
#isql –v CSP 帳號 密碼 ex. isql –v CSP sa 1234
#quit
(圖)isql連線測試