Web 開發核心在版面與內容。Perl CGI 處理動態版面;資料庫管理內容需 DBI (Database Interface) 抽象層,搭配對應的 DBD (Database Driver) 驅動程式,實現「寫一次,跑 partout」的可移植性:
應用程式 → DBI → DBD::Oracle → Oracle Database
DBD::Oracle 由知名 DBA 顧問公司 Pythian Group 開發維護(非 Oracle 官方),最新版本 1.22,專案主頁:https://www.pythian.com/news/dbd-Oracle。
官網:Oracle Instant Client 下載頁。需下載三個套件(以 Linux 32-bit 11.1.0.7 為例)並置於同一目錄:
解壓縮:
unzip instantclient-basic-Linux32-11.1.0.7.zip
unzip instantclient-sdk-Linux32-11.1.0.7.zip
unzip instantclient-sqlplus-Linux32-11.1.0.7.zip
會自動產生 instantclient_11_1 目錄,原 zip 檔可刪除或備份。
CPAN 下載點:DBD-Oracle-1.22.tar.gz。解壓縮:
tar zxf DBD-Oracle-1.22.tar.gz
cd DBD-Oracle-1.22
純 Instant Client 環境下,指向解壓目錄絕對路徑:
export ORACLE_HOME=/tmp/InstantClient/instantclient_11_1
echo $ORACLE_HOME
perl Makefile.PL
輸出應顯示偵測到 Instant Client 安裝、Oracle 版本 11.1.0.7 等資訊。make
su
make install
安裝完成後,Perl 應用程式即可透過 use DBD::Oracle; 連接遠端 Oracle 資料庫。若遇編譯錯誤,請檢查:
ORACLE_HOME 指向正確gcc、make、Perl 開發套件