本章介紹如何使用Perl DBI 與MySQL接口。我們不討論DBI 的基本原理或體系結構。有關DBI 這些方面的信息(特別是與C 和PHP API 的比較),請參閱第5 章。
本章的舉例動用了樣例數據庫samp_db,使用了學分保存方案和歷史同盟需要的表。想要從本章中取得最大收獲,最好了解一些有關Perl 的知識。如果不想這樣,那麼通過拷貝這裡看到的樣例代碼,也能有所幫助,並可以編寫自己的腳本,不過找一本好的Perl 書,可能仍是一件非常有價值的投資。有這樣一本書,名為《Programming Perl 》,第二版是由Wa l l、C h r i s t i a n s e n、Schwartz 和P o t ter(O’ Reilly出版社19 9 6出版)撰寫的。(機械工業出版社1999年已出版了《Perl 5編程詳解》—編者注。)
DBI 的當前版本為1. 13,但是此處的大部分介紹也可用於更早的1.xx 版本。請注意,對所介紹的早期版本中沒有出現的特性作了說明。
MySQL的DBI 需要至少為5.004_05 的Perl 版本。另外還必須安裝Msql-Mysql 模塊和Data-Dumper Perl 模塊,以及MySQLC 客戶機庫和一些頭文件。如果計劃編寫基於Web 的DBI 腳本,則要使用CGI.pm 模塊。本章中,這個模塊用於與apache Web 服務器的連接。如
果需要獲得這樣的程序包,請參閱附錄A。該附錄中也給出了獲得本章開發的樣例腳本的說明。可以下載這些腳本,不必自己鍵入。
很大程度上,本章介紹Perl DBI 的方法和變量只是出於討論的需要。至於所有方法和變量的更全面的列表,請參閱附錄G。如果要使用DBI 的任何部分,可以用該附錄作為進一步研究的背景材料。可通過運行下面的命令來得到聯機文檔:
% perldoc DBI
% perldoc DBI::FAQ
% perldoc DBI::MySQL 在數據庫驅動程序( DB D)級,MySQL的驅動程序建立在MySQLC 客戶機庫的基礎之上,因而具有它的某些特性。有關該庫的詳細信息,請參閱第6 章。
Perl 腳本為文本文件,可以利用任何文本編輯器來創建它們。本章所有的Perl 腳本都遵從UNIX 的約定,第一行以‘ #!’開始,接著是執行這個腳本要使用的程序路徑名。第一行如下所示:
#! /usr/bin/perl
如果在您的系統中,路徑名不是Perl,如為/usr/local/bin/perl5 或/ o p t / b i n / per l,則需要修改‘# !’行。否則,Perl 腳本不能在系統中正確運行。
在‘#!’之後含有一個空格,這是因為有的系統會將‘ #! /’解釋為4 個字節的怪異數字,所以如果沒有空格,則忽略這一行,這樣,會將相應腳本作為外殼腳本來對待。
在UNIX 系統中,應該使Perl 腳本成為可執行文件,以便只要鍵入其名稱就可執行。為使腳本成為可執行文件,對文件模式做如下更改即可:
% chmod +X script_name
如果在Windows 下使用ActiveState Perl,則不必使腳本成為可執行文件,可如下運行一個腳本:
C:> perl script_name