本文是摘录:

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

PERL对数据库的支持广而且全,几乎所有的主流数据库都有与之相应的PERL模块支持。为了开发可在不同数据库上移植的PERL应用,DBI(DataBase Interface)模块应运而生,使用这个模块,应用只需使用统一的接口便能操作不同的数据库,真正实现了可移植;当然,这个DBI也配备有相应的开关来支持不同数据库的各种特性,每一个数据库都能单独成文,本篇暂不涉及这此点。

DBI只是个抽象层,要实现支持不同的数据库,则需要在DBI之下,编写针对不同数据库的驱动。对MySql来说,有DBD::Mysql, 而对Oracle来说,则是DBD::Oracle。其中的DBD这是DataBase Driver之简写。

所以总的体系结构如下所示:

    应用(Application) -> DBI -> DBD -> DB

要连接不同类型的数据库,就得在应用所在主机上配置安装DBI以及相对应的DBD模块,关于DBI的安装配置,偶遇此文,大家全可拿来参考,我就不重新造轮子,安装顺序是先装DBI,再装DBD::Oracle。
DBD::Oracle模块不是Oracle官方开发的,而是由Pythian Group这个很有名的DBA咨询公司组织专人开发,目前的最新版本是1.22,主页在http://www.pythian.com/news/dbd-oracle,读者可以到那里找到关于此模块的最新动态。
    接下来把如何安装DBD::Oracle的步骤罗列如下,供大家参考。

DBD::Oracle模块既可安装在有Oracle Database的主机上,也可以装在没有Oracle Database的主机上,后者需要安装Oracle Instant Client进行远程数据库连接,本文只关注第二种配置,即DBD::Oracle通过Instant Client实现数据库访问。

    第一步: 下载Oracle Instant Client

Oracle Instant Client的主页在http://www.oracle.com/technology/tech/oci/instantclient/index.html  ; 秉承了Oracle公司的一贯做法,同一软件按配置分成了不同的可下载包,让用户可以按照自己的需求,找到最合适的部分下载。要成功配置DBD::Oracle, 需要Basic,SQL*Plus,SDK这三个配置,读者需要把这三个包下载并放到同一目录,如下所示为我已经下载的三个包,版本是当前最新的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命令在当前目录解压这三个zip文件,会自动生成instantclient_11_1目录,这里面包含了以上三个包里面的所有文件,解压后的目录结构:

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文件已经没用,可以删之,也可备份供以后重用。

    第二步:下载DBD::Oracle

这个时候,我们可以使用PERL自带的CPAN进行自动安装,也可以手动下载此模块,编译安装,此文采用后者。
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.gzDBD-Oracle-1.22shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$lsChanges       Makefile.PL     oraperl.ph          README.login.txtdbdimp.c      MANIFEST        Oraperl.pm          README.longs.txt[..省略部分屏幕输出..]

    第三步:配置ORACLE_HOME环境变量

如果安装了Oracle Database软件,这个ORACLE_HOME就是安装oracle时所设值。在只安装Instant Client的情形下,此值设为第一步中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.PLUsing 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
[..省略部分屏幕输出..]

运行make

shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$makecp Oracle.pm blib/lib/DBD/Oracle.pmcp oraperl.ph blib/lib/oraperl.phcp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.hI/Driver.xst > Oracle.xsi[..省略部分屏幕输出..]

然后切换成root用户make install

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

至此,DBD::Oracle配置安装完毕,用户可以使用此模块连接Oracle进行相应的操作

关于perl中DBD for Oracle的安装相关推荐

  1. perl mysql dbi 安装_Perl中DBI、DBD::mysql模块的安装

    Perl中DBI.DBD::mysql模块的安装 Perl中DBI.DBD::mysql模块的安装 使用的软件版本 DBI-1.604.tar.gz DBD-mysql-4.006.tar.gz 建议 ...

  2. linux中oracle静默安装失败,oracle 11 Linux 静默安装 步骤及错误解决(更新中)

    oracle 11 Linux 静默安装 步骤及错误解决(更新中) oracle 11 Linux 静默安装 步骤及错误解决(更新中) [待更新] oracle成功安装完成后 显示的页面如下 : 此时 ...

  3. ubuntu18.0.4 不能下载 libgd2-dev(ubuntu 20.04 安装perl 中GD 模块失败的解决办法)

    ubuntu18.0.4 不能下载 libgd2-dev 一.错误信息: Unable to locate package libgd2-dev 二.原因 没有对应源 到 https://packag ...

  4. oracle数据库安装与打开,Oracle数据库在Linux 中的安装与启动动

    到目前为止,Oracle数据库算是我在linux安装的众多软件中最难安装的一个.值得庆幸的是,就在刚刚我成功的把oracle database安装到了linux os.现在回想起来装个oracle也并 ...

  5. 在VirtualBox中为全屏显示安装增强功能时出现Please install the gcc make perl packages from your distribution

    在virtualbox中为全屏显示安装增强功能时出现Please install the gcc make perl packages from your distribution时,以下步骤解决: ...

  6. 风清杨之Oracle的安装与说明

    原文:风清杨之Oracle的安装与说明 1.Oracle官网与下载地址 Oracle中文官网:http://www.oracle.com/cn/index.html Oracle中文官网下载:http ...

  7. Oracle 19C 安装指引

    Oracle 19C 安装指引 18C新功能 1.简化的基于镜像的Oracle数据库安装 从18C开始,Oracle可以作为镜像文件来下载和安装,必须解压缩镜像文件到ORACLE_HOME目录,然后执 ...

  8. dbd mysql 4.046安装_perl DBI、DBD-mysql、DBD-Oracle安装

    perl DBI: 安装过程很简单,下载解压: gzip -d DBI-1.604.tar.gz tar xvf DBI-1.604.tar cd DBI-1.604: perl Makefile.P ...

  9. php7-fpm webtatic,如何在 CentOS 7 中使用 Nginx 和 PHP7-FPM 安装 Nextcloud

    如何在 CentOS 7 中使用 Nginx 和 PHP7-FPM 安装 Nextcloud 关注:154  答案:1  mip版 解决时间 2021-01-11 20:51 提问者你若离去丶巴掌扇去 ...

最新文章

  1. Python:matplotlib实践:直方图、散点图展示、变色、线条变换、点样式变换、添加名称、设置横纵轴范围、在一张图上显示多条线
  2. 深度学习的算法实践和演进
  3. Serverless 工程实践 | Serverless 应用优化与调试秘诀
  4. B端设计指南 —— 弹窗 究竟应该如何设计
  5. 脚本升级_手把手教你升级到Database 19c(3)| 终章教程
  6. Cocos2d-x 3.0新引擎文件夹结构
  7. 一个微信公众号接入另一个微信公众号的内容
  8. ubuntu nginx php问题研究
  9. php防伪溯源x系统_区块链溯源防伪追溯系统开发解决方案
  10. pytorch中的卷积操作详解
  11. 网络中把提供服务的计算机称为,网络第三套试题
  12. 简约html5动态个人简历,HTML5 简约风格的程序员简历模板
  13. 基于steamworks获取steam用户头像
  14. 100003字,带你解密 双11、618电商大促场景下的系统架构体系
  15. 多模块项目提示“Module ** must not contain source root **. The root already belongs to module **”的解决办法
  16. 汽车4G车载TBOX智能终端
  17. SEO——搜索引擎优化
  18. 忠魁互联网站SEO优化的外链建设方法
  19. HCIP-821——选择题库1(最新)
  20. Spring Cloud之Feign 转发请求头(header参数)

热门文章

  1. How to create a jump server in AWS VPC
  2. css实现垂直居中定位
  3. C#操作项目配置文件
  4. 10.8.5如何升级(app store 出错 请稍后重试 100)
  5. Lichee (六) 优化配置的微内核
  6. BootstrapTable(附源码) Bootstrap结合BootstrapTable的使用,分为两种模试显示列表。...
  7. entry for sde instance not found in services file解决方法[转]
  8. 46 关于Linux的I/O重定向
  9. jquery中$(document).ready(function(){//todo});window.onload时间线关系
  10. /*3.使用二维数组存储班上五个学生三门功课的考试成绩,要求输出每一个学生的总分、平均分、最高分、最低分。