在Linux下使用perl通過unixODBC連接SQLServer2000

摘要:MS從來沒有提供過SQLServer for Linux,所以大家也不要去嘗試在Linux系統安裝SQLServer,但是可以通過ODBC連接Windows系統的SQLServer數據庫;

一、關于測試環境及Linux連接SQL Server 的說明;

測試環境:

gcc 3.3.3 , kernel 2.6.5-1 , glibc 2.3.3-27 , perl 5.8.3

關于SQL Server說明:

MS從來沒有提供過SQLServer for Linux,所以大家也不要去嘗試在Linux系統安裝SQLServer,但是可以通過ODBC連接Windows系統的SQLServer數據庫;

Windows Server 2003用戶注意:

在Windows Server 2003系統上安裝的SQLServer是不會打開1433端口的,所以請Windows2003用戶在安裝完SQLServer之後一定裝上SQLServer SP3布丁

二、下載相關軟件 unixODBC、freetds和DBD-ODBC

首先需要下載3個文件:

Linux系統的ODBC

unixODBC-2.2.8.tar.gz ( http://www.unixodbc.org)

連接SQLServer或Sybase的驅動

freetds-0.62.4.tar.gz ( http://www.freetds.org)

perl的ODBC模塊

DBD-ODBC-1.12.tar.gz ( http://cpan.perl.org)

把下載到的三個文件放到同一個目錄

三、安裝和配置;

1、安裝unixODBC

# tar vxzf unixODBC-2.2.8.tar.gz# cd unixODBC-2.2.8# ./configure --prefix=/usr/local/unixODBC# make# make install

2、安裝freetds

# tar vxzf freetds-0.62.4.tar.gz# cd freetds-0.62.4# ./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC --with-tdsver=8.0# make# make install

3、安裝DBD-ODBC

在安裝之前要先設置一下環境變量

# export ODBCHOME=/usr/local/unixODBC

之後開始編譯安裝

# tar vxzf DBD-ODBC-1.12.tar.gz# cd DBD-ODBC-1.12# perl Makefile.PL# make# make install

所有的軟件到現在都安裝完成了,接下來就是配置了

4、配置freetds

# cd /usr/local/freetds# vi etc/freetds.conf

修改以下的一段,並把;去掉

改好之後的內容:

[MyServer2k]host=192.168.0.32port=1433tds version=8.0

其中的[MyServer2k]代表在客戶端使用的服務器名稱,host代表SQLServer服務器的IP地址,port代表端口,測試連接;

# bin/tsql -S MyServer2k -H 192.168.0.32 -p 1433 -U sa -P password1> use gameDB2> go1> select count(*) from t_ip41> quit

一切都很順利

現在來說明以下這些參數的作用,-S MyServer2k是在freetds.conf中定義好的,-H 192.168.0.32服務器IP地址,和freetds.conf中的一致,如果使用了-S參數,這個參數可以不用,-p 1433用來指定端口是1433 ,-U sa用來指定連接數據庫的用戶名,-P password用來指定連接數據庫的密碼。

5、配置unixODBC

# cd /usr/local/unixODBC

向ODBC添加SQLServer驅動

# vi etc/odbcinst.ini

寫入如下內容:

保存退出

添加DSN

# vi etc/odbc.ini

寫入如下內容

[123] ;DSN名稱Driver = TDS ;ODBC驅動Server = 192.168.0.32 ;服務器IPDatabase = gameDB ;要使用的數據庫Port = 1433 ;端口Socket =Option =Stmt =

保存並退出,測試ODBC的連接

# bin/isql -v 123 sa passwordSQL> select count(*) from t_ip+----------+| |+----------+| 4 |+----------+SQL> quit

OK,測試通過,開始測試perl能否正確使用ODBC

在使用perl連接ODBC之前要做些准備工作

把ODBC的共享庫都複制到/usr/lib目錄

# cp /usr/local/unixODBC/lib/libodbc.* /usr/lib

6、perl腳本測試能否成功;

# vi test.pl

內容如下

#!/usr/bin/perluse DBI;$dbh=DBI->connect('dbi:ODBC:123','sa','password');my $sth=$dbh->prepare("select * from t_ip";$sth->execute();while (@data=$sth->fetchrow_array()){print "$data[0] $data[1] $data[2]

";}

保存退出

# perl test.pl

如果可以看到數據庫中的記錄,就說明可以正常使用ODBC perl了。

既然已經可以實現perl通過ODBC來連接SQLServer了,那麽同樣可以使用PHP+ODBC+SQLServer,具體方法請查詢PHP官方網站。

四、關于本文

寫完,收工,今天晚上可以不用熬夜了,開心

PS:M$真是害死我了。

五、相關文檔

在Linux下使用perl通過unixODBC連接SQLServer2000
     摘要:MS從來沒有提供過SQLServer for Linux,所以大家也不要去嘗試在Linux系統安裝SQLServer,但是可以通過ODBC連接Windows系統的SQLServer數據庫;  一、關于測試環境及Linux連接SQL Server 的說明;  ...查看完整版>>在Linux下使用perl通過unixODBC連接SQLServer2000
 
用Linux下腳本Perl連接SQLServer
  准備工作:  用到的perl 擴展組件(modules)在上篇貼出.( win32::odbc 模塊 )下載組件後按照Readme文件安裝倒響應目錄.配置好相應的odbc數據源.  程序實現:  使用  use Win32::ODBC;  語句包含應使用的模...查看完整版>>用Linux下腳本Perl連接SQLServer
 
Linux使用基本知識:編寫簡單的perl
  腳本  perl以其功能強大和可伸縮性而聞名,下面的示例並沒有做任何實際的工作,而只是顯示了perl的一些特性。  #!/usr/bin/perl -w  #sample perl program  #scalar variables names start with $  $a...查看完整版>>Linux使用基本知識:編寫簡單的perl
 
使用Perl修改Linux文件
  當你編寫腳本或是安裝程序的時候,就需要修改特定文件的數據,如果這時有自動修改文件的功能,那將會是非常實用的。例如,當你需要移動一個文件中的某個字符串或是命令,當你要改變許多文件的IP地址的時候,這個...查看完整版>>使用Perl修改Linux文件
 
LINUX環境下通過串口連接終端方式介紹
  串行直連電纜用于兩台計算機的直接相連,電纜兩端的插頭一頭是 9 針母插頭,另一頭是 25 針母插頭:      上兩圖均爲母頭俯視圖  9針母頭管腳定義:      25針母頭管腳定義(其中在該連接中,只有8...查看完整版>>LINUX環境下通過串口連接終端方式介紹
 
在linux下,無法通過jdbc連接到mysql的問題
今天在debian中用jdbc連mysql,連接不上報錯:Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectExceptio...查看完整版>>在linux下,無法通過jdbc連接到mysql的問題
 
通過wifi連接使用586W手機版大智慧3.0版
通過wifi連接使用586W手機版大智慧3.0版
今天通過用586W在飛行模式下通過wifi上網,突然想試試大智慧能否通過wifi?于是在wifi連接正常情況下打開大智慧3.0版。出現了圖一的畫面,選“是”後進入圖二的畫面,選擇“internet”進入,呵呵,看行情看信息速度很...查看完整版>>通過wifi連接使用586W手機版大智慧3.0版
 
藍牙使用篇之二------手機通過藍牙連接PC套件
論壇上有許多朋友說手機通過藍牙連接PC套件都連不上,搜索一下網絡也有許多介紹手機通過藍牙連接PC套件的文章,但都不適用于930。經過本人的反複的實踐,終于實現了930經藍牙連接PC 套件的方法,現總結一下共機友們參...查看完整版>>藍牙使用篇之二------手機通過藍牙連接PC套件
 
掌上電腦通過藍牙連接A760使用GPRS上網
掌上電腦通過藍牙連接A760使用GPRS上網
測試用掌上電腦:HP ipAQ4150,中文簡體2003系統 1,首先將掌上電腦與A760進行藍牙配對 2,確認掌上電腦和A760的藍牙均處于開啓狀態 3,A760上的超作: 3a,由“其他”面板選擇打開“Modem”; ...查看完整版>>掌上電腦通過藍牙連接A760使用GPRS上網
 
 
回到王朝網路移動版首頁