日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

关于perl中DBD for Oracle的安装

發(fā)布時(shí)間:2024/4/18 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于perl中DBD for Oracle的安装 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

本文是摘錄:

http://www.bitscn.com/pdb/oracle/200904/160495.html

?

?

PERL對(duì)數(shù)據(jù)庫(kù)的支持廣而且全,幾乎所有的主流數(shù)據(jù)庫(kù)都有與之相應(yīng)的PERL模塊支持。為了開發(fā)可在不同數(shù)據(jù)庫(kù)上移植的PERL應(yīng)用,DBI(DataBase Interface)模塊應(yīng)運(yùn)而生,使用這個(gè)模塊,應(yīng)用只需使用統(tǒng)一的接口便能操作不同的數(shù)據(jù)庫(kù),真正實(shí)現(xiàn)了可移植;當(dāng)然,這個(gè)DBI也配備有相應(yīng)的開關(guān)來(lái)支持不同數(shù)據(jù)庫(kù)的各種特性,每一個(gè)數(shù)據(jù)庫(kù)都能單獨(dú)成文,本篇暫不涉及這此點(diǎn)。

??? DBI只是個(gè)抽象層,要實(shí)現(xiàn)支持不同的數(shù)據(jù)庫(kù),則需要在DBI之下,編寫針對(duì)不同數(shù)據(jù)庫(kù)的驅(qū)動(dòng)。對(duì)MySql來(lái)說(shuō),有DBD::Mysql, 而對(duì)Oracle來(lái)說(shuō),則是DBD::Oracle。其中的DBD這是DataBase Driver之簡(jiǎn)寫。

??? 所以總的體系結(jié)構(gòu)如下所示:

??? 應(yīng)用(Application) -> DBI -> DBD -> DB

??? 要連接不同類型的數(shù)據(jù)庫(kù),就得在應(yīng)用所在主機(jī)上配置安裝DBI以及相對(duì)應(yīng)的DBD模塊,關(guān)于DBI的安裝配置,偶遇此文,大家全可拿來(lái)參考,我就不重新造輪子,安裝順序是先裝DBI,再裝DBD::Oracle。
DBD::Oracle模塊不是Oracle官方開發(fā)的,而是由Pythian Group這個(gè)很有名的DBA咨詢公司組織專人開發(fā),目前的最新版本是1.22,主頁(yè)在http://www.pythian.com/news/dbd-oracle,讀者可以到那里找到關(guān)于此模塊的最新動(dòng)態(tài)。
??? 接下來(lái)把如何安裝DBD::Oracle的步驟羅列如下,供大家參考。

??? DBD::Oracle模塊既可安裝在有Oracle Database的主機(jī)上,也可以裝在沒有Oracle Database的主機(jī)上,后者需要安裝Oracle Instant Client進(jìn)行遠(yuǎn)程數(shù)據(jù)庫(kù)連接,本文只關(guān)注第二種配置,即DBD::Oracle通過(guò)Instant Client實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問(wèn)。

??? 第一步: 下載Oracle Instant Client

??? Oracle Instant Client的主頁(yè)在http://www.oracle.com/technology/tech/oci/instantclient/index.html ?; 秉承了Oracle公司的一貫做法,同一軟件按配置分成了不同的可下載包,讓用戶可以按照自己的需求,找到最合適的部分下載。要成功配置DBD::Oracle, 需要Basic,SQL*Plus,SDK這三個(gè)配置,讀者需要把這三個(gè)包下載并放到同一目錄,如下所示為我已經(jīng)下載的三個(gè)包,版本是當(dāng)前最新的11.1.0.7

??? shawn@shawn-laptop:/tmp/InstantClient$ls
??? instantclient-basic-linux32-11.1.0.7.zip
??? instantclient-sdk-linux32-11.1.0.7.zip
??? instantclient-sqlplus-linux32-11.1.0.7.zip

??? 使用unzip命令在當(dāng)前目錄解壓這三個(gè)zip文件,會(huì)自動(dòng)生成instantclient_11_1目錄,這里面包含了以上三個(gè)包里面的所有文件,解壓后的目錄結(jié)構(gòu):

??? shawn@shawn-laptop:/tmp/InstantClient$ls
??? instantclient_11_1
??? instantclient-basic-linux32-11.1.0.7.zip
??? instantclient-sdk-linux32-11.1.0.7.zip
??? instantclient-sqlplus-linux32-11.1.0.7.zip

??? 這時(shí)候這三個(gè)zip文件已經(jīng)沒用,可以刪之,也可備份供以后重用。

??? 第二步:下載DBD::Oracle


??? 這個(gè)時(shí)候,我們可以使用PERL自帶的CPAN進(jìn)行自動(dòng)安裝,也可以手動(dòng)下載此模塊,編譯安裝,此文采用后者。
DBD::Oracle在search.cpan.org的下載地址是http://search.cpan.org/CPAN/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.22.tar.gz,下載后隨便放到某一目錄,這里我放到/tmp,然后解壓,如下:

?

shawn@shawn-laptop:/tmp$tarzxf DBD-Oracle-1.22.tar.gz
DBD-Oracle-1.22
shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$ls
Changes?????? Makefile.PL???? oraperl.ph????????? README.login.txt
dbdimp.c????? MANIFEST??????? Oraperl.pm????????? README.longs.txt
[..省略部分屏幕輸出..]

?

??? 第三步:配置ORACLE_HOME環(huán)境變量

??? 如果安裝了Oracle Database軟件,這個(gè)ORACLE_HOME就是安裝oracle時(shí)所設(shè)值。在只安裝Instant Client的情形下,此值設(shè)為第一步中instantclient_11_1目錄的絕對(duì)路徑,如下:

??? shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$exportORACLE_HOME=/tmp/InstantClient/instantclient_11_1
shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$echo $ORACLE_HOME
/tmp/InstantClient/instantclient_11_1

??? 第四步:編譯安裝DBD::Oracle模塊


??? 首先是使用PERL的Makefile.PL來(lái)生成makefile

?

shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$perl Makefile.PL
Using DBI 1.607 (for perl 5.008008 on i486-linux-gnu-thread-multi) installed in /usr/local/lib/perl/5.8.8/auto/DBI/ Configuring DBD::Oracle for perl 5.008008 on linux (i486-linux-gnu-thread-multi)

Remember to actually *READ* the README file! Especially if you have any problems.

Installing on a linux, Ver#2.6
Using Oracle in /tmp/InstantClient/instantclient_11_1
DEFINE _SQLPLUS_RELEASE = "1101000700" (CHAR)
Oracle version 11.1.0.7 (11.1)
Looks like an Instant Client installation, okay
[..省略部分屏幕輸出..]

?

??? 運(yùn)行make

?

shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$make
cp Oracle.pm blib/lib/DBD/Oracle.pm
cp oraperl.ph blib/lib/oraperl.ph
cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h
I/Driver.xst > Oracle.xsi
[..省略部分屏幕輸出..]

??? 然后切換成root用戶make install

shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$su
Password:
root@shawn-laptop:/tmp/DBD-Oracle-1.22#make install
[..省略部分屏幕輸出..]

??? 至此,DBD::Oracle配置安裝完畢,用戶可以使用此模塊連接Oracle進(jìn)行相應(yīng)的操作

?

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的关于perl中DBD for Oracle的安装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。