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 filelog檔路徑

 

 

freetds

 (圖)freetds.conf設定 

 

  而後進行測試連接,以利確認設定無誤。

  #cd /usr/local/freetds/bin

  #tsql –S MssqlServer –H 10.20.202.103 –p 1433 –U sa

  #quit

testConn  

(圖)freetds連線測試 

 

Step5:設置unixODBC

  #cd /usr/local/unixODBC

  ODBC添加SQLServer驅動

  #vi etc/odbcinst.ini

  請將資料設定如下

odbcinst  

(圖)odbcinst.ini設定

請注意vi etc/odbcinst.ini此一步驟
有時因作業系統版本為64位元請將Driver設成以下路徑

odbcinst64  

(圖)odbcinst.ini  64位元設定

 

Step6:設置欲連接的Windows  MSSQL資訊 

#vi etc/odbc.ini 

請將資料設定如圖

odbcinst1  

(圖)odbc.ini 設定

 

而後進行測試連接,以利確認設定無誤。

#cd /usr/local/unixODBC/bin

#isql –v CSP 帳號 密碼     ex. isql –v CSP sa 1234

#quit

testConn2  

(圖)isql連線測試

相关文章