• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統(tǒng)計

            最新評論

            關(guān)于perl中DBD for Oracle的安裝

            本文是摘錄:

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

             

             

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

                DBI只是個抽象層,要實(shí)現(xiàn)支持不同的數(shù)據(jù)庫,則需要在DBI之下,編寫針對不同數(shù)據(jù)庫的驅(qū)動。對MySql來說,有DBD::Mysql, 而對Oracle來說,則是DBD::Oracle。其中的DBD這是DataBase Driver之簡寫。

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

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

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

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

                第一步: 下載Oracle Instant Client

                Oracle Instant Client的主頁在http://www.oracle.com/technology/tech/oci/instantclient/index.html  ; 秉承了Oracle公司的一貫做法,同一軟件按配置分成了不同的可下載包,讓用戶可以按照自己的需求,找到最合適的部分下載。要成功配置DBD::Oracle, 需要Basic,SQL*Plus,SDK這三個配置,讀者需要把這三個包下載并放到同一目錄,如下所示為我已經(jīng)下載的三個包,版本是當(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)前目錄解壓這三個zip文件,會自動生成instantclient_11_1目錄,這里面包含了以上三個包里面的所有文件,解壓后的目錄結(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

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

                第二步:下載DBD::Oracle


                這個時候,我們可以使用PERL自帶的CPAN進(jìn)行自動安裝,也可以手動下載此模塊,編譯安裝,此文采用后者。
            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軟件,這個ORACLE_HOME就是安裝oracle時所設(shè)值。在只安裝Instant Client的情形下,此值設(shè)為第一步中instantclient_11_1目錄的絕對路徑,如下:

                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來生成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)的操作

            posted on 2011-11-15 02:53 大龍 閱讀(839) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久久这里有精品| 99久久精品国产一区二区蜜芽| 久久AV高清无码| 久久久国产精品网站| 久久青青草视频| 伊人久久免费视频| 2021国产精品久久精品| 久久99国产精品二区不卡| 欧美成a人片免费看久久| 国产午夜福利精品久久2021| 久久久久无码中| 久久精品国内一区二区三区 | 久久久久久无码Av成人影院| 欧美777精品久久久久网| 狠狠色婷婷久久综合频道日韩| 久久99精品久久只有精品| 无码乱码观看精品久久| 97久久综合精品久久久综合| 亚洲伊人久久精品影院| 一本久道久久综合狠狠躁AV| Xx性欧美肥妇精品久久久久久| 欧美久久久久久| 久久久久久久综合综合狠狠| 99久久国产热无码精品免费| 色欲久久久天天天综合网| 国内精品久久久久影院亚洲| 久久亚洲2019中文字幕| 国产精品久久久久久久午夜片| 97精品伊人久久久大香线蕉| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 精品久久8x国产免费观看| 中文字幕精品久久| 伊人久久大香线蕉精品不卡| 国产99久久久国产精免费| 中文字幕亚洲综合久久2| 一级做a爰片久久毛片人呢| 久久精品男人影院| 99精品伊人久久久大香线蕉| 99国内精品久久久久久久| 国产精品久久久久久久午夜片| 熟妇人妻久久中文字幕|