Perl DBD::Oracle 模块安装

2024-01-09

有人可以指导我如何安装 PerlDBD::Oracle module?

这是我到目前为止所做的:

  • 平台:RHEL 5.8 64 位
  • 安装 Perl DBI 包
  • 安装了适用于 Linux 64 位的 Oracle Instant 客户端(即时客户端的 basic + sdk + sqlplus 组件
  • 已设置正确$ORACLE_HOME and $LD_LIBRARY_PATH
  • 然后当我这样做时perl Makefile.pl它失败并出现以下错误:

    I'm having trouble finding your Oracle version number... trying harder
    
    WARNING: I could not determine Oracle client version so I'll just
    default to version 8.0.0.0. Some features of DBD::Oracle may not work.
    Oracle version based logic in Makefile.PL may produce erroneous results.
    You can use "perl Makefile.PL -V X.Y.Z" to specify a your client version.
    
    Oracle version 8.0.0.0 (8.0)
    DBD::Oracle no longer supports Oracle client versions before 9.2
     Try a version before 1.25 for 9 and 1.18 for 8! at Makefile.PL line 271.
    
  • 即时客户端版本:11.1.0

  • The DBD::Oracle版本是1.44

如果您已成功安装 Oracle 即时客户端,那么您能告诉我我缺少什么吗?

是否可以安装DBD::Oracle不使用 Oracle 即时客户端?


  • 如果缺少 ExtUtils-MakeMaker 模块,请安装 (sudo yum install perl-ExtUtils-MakeMaker)
  • 安装 Perl DBI 模块($ yum install perl-DBI)
  • 为 Oracle 即时客户端手动安装以下三个 RPM(来自适用于 Linux x86-64 的即时客户端下载 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html。该示例适用于 v11.2.0.3.0-1:将以下命令调整为实际版本。)

    oracle-instantclient11.2-basic-11.2.0.3.0-1
    oracle-instantclient11.2-devel-11.2.0.3.0-1
    oracle-instantclient11.2-sqlplus-11.2.0.3.0-1
    

我使用的是 64 位 Linux 机器,因此请相应地选择 RPM 文件名。就像是sudo yum -y install oracle-instantclient*rpm应该做)

  • 设置以下变量:

    export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
    export ORACLE_HOME=/usr/lib/oracle/11.2/client64
    

    MacOS 用户将需要:

    DYLD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/
    

    还添加ORACLE_HOME给你的PATH多变的。

  • 下载DBD::甲骨文 from CPAN http://search.cpan.org/

  • 解压模块并按给定顺序运行以下命令:

    perl Makefile.PL
    make
    sudo make install
    

如果您收到有关缺少 gcc 的投诉,您可以(暂时)安装它,然后将其删除。

DONE !!!

我遇到的问题是由于错误的LD_LIBRARY_PATH。我已将其设置为/usr/lib/oracle/11.2/client64而正确的值是/usr/lib/oracle/11.2/client64/lib.

当然,对于像我这样的新手来说,这是一次很好的学习。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Perl DBD::Oracle 模块安装 的相关文章

  • 如何使用 Perl CGI 脚本提供图像?

    我的 Google fu 让我失望了 如何使用 Perl 提供已生成的图像 Example img src getimage pl getimage pl 里有什么 干得好 usr bin perl w my file inner nav
  • ORA-00933 与内部联接和“as”混淆

    我有一个使用以下命令从两个表中获取数据的查询inner join 但我收到错误SQL command not properly ended as 下面有一个星号 select P carrier id O order id O aircra
  • 自动提取数据 - Oracle SQL Developer

    我通过 SQL Developer 连接到 Oracle 数据库 我想编写一个返回每月数据集的查询 然后将该数据提取到分隔文本文件中 我知道如何做到这一点就好了 我想知道是否有一种方法可以编写一个脚本来运行查询并在一年内逐月提取数据 这样我
  • 检查一个数字是 int 还是 float

    在perl中 我想检查给定变量是否包含浮点数 为了检查我正在使用的 my Var 0 02 Floating point number if int Var Var floating point number 但上面的代码对于 0 0 不起
  • 如何在 Perl 中复制整个目录?

    我需要将整个目录复制到某个位置 最好的方法是什么 File Copy正如我所见 仅逐个文件复制 顺便说一句 我在Windows下工作 感谢帮助 也许调查一下文件 复制 递归 http metacpan org pod File Copy R
  • oracle ExecuteNonQuery 在 ASP.Net 上冻结

    我正在尝试使用 ASP C 和 CLR 4 5 中的 Oracle 连接来运行非查询 这是我的代码 string connectionString ConfigurationManager ConnectionStrings OracleC
  • Oracle 中的 Json_object 返回 ORA-00907: 缺少右括号

    我正在尝试将 Oracle 表数据转换为 JSON 文件 我有三个数据库 下面的代码在一个数据库中以 JSON 文件形式提供输出 但其他两个数据库抛出ORA 00907 missing right parenthesis error 从语法
  • 没有提示指令的直连接中表的顺序是否会影响性能?

    所有基于 SQL 的 RDBMS 10 年前的版本 直接连接查询 没有提示指令 中的表顺序是否会对最佳性能和内存管理产生影响 听说最后一个join应该是最大的表 您的数据库的查询优化器如何处理这种情况 回答你的问题 是的 表的顺序在连接中有
  • 存储过程错误 PLS-00201:必须声明标识符“UTL_HTTP”

    我正在尝试创建一个从服务请求一些 XML 数据的存储过程 我在网上找到了几个示例 它们都指向使用这个 UTL HTTP 包 但是 每次我尝试用它来编译我的存储过程时 我都会收到错误 PLS 00201 identifier UTL HTTP
  • Perl LWP GET 或 POST 到 SNI SSL URL

    我有一个使用 perl LWP 向客户发送数据的系统 他们可以选择 URL 以及是 POST 还是 GET 一位新客户最近抱怨该服务不起作用 他们怀疑这是因为他们的端点使用了 SNI SSL 查看日志 我看到的只是错误消息 证书验证失败 5
  • 手动将数据库中的数据插入具有 hibernate_sequence @GenerateValue(strategy = GenerationType.TABLE) 的表中

    我有 ID 为 GenerateValue strategy GenerationType TABLE 的表 需要在postgresql生产数据库上手动插入800条记录 我们从oracle迁移到postgresql 很少有用户错误地访问旧链
  • 快速 Perl signint 处理程序

    收到 Ctrl C 时处理程序清理的最方便 最清晰的方法是什么 例如 当我的套接字服务器以这种方式被终止时 TCP 套接字永远不会关闭 我想要一个很好的衬里 我可以将其放在程序的顶部来设置 sigint 处理程序 或类似 atexit 的东
  • Oracle OLE DB 提供程序未在 SSIS 中列出

    我在 SSIS 和 VS2015 CM 方面遇到问题 我有一个包需要连接 Oracle 来获取一些数据 我安装了适用于 Win64 的 ODAC 和 Oracle 客户端 但看不到提供程序列表中列出的 OLE DB 的 Oracle 提供程
  • Perl 和 Selenium::远程::驱动程序

    再次编辑 我在弗吉尼亚州北部某处的 AWS 上有一台服务器 这是我的监控服务器 我从另一个状态 ssh 进入这个 Ubuntu 服务器来进行系统管理 我想在这台服务器上进行 Web 自动化测试 它将测试互联网上的 Web 应用程序 点击 U
  • Perl:正则表达式不抓取代码中的多行 C 风格注释

    我有一个 Perl 程序 读取用 C 编写的 SRC 文件 使用 SRC 文件中的正则表达式匹配来查找特定格式的数据以用作目标文件名 打开新的目标文件 执行另一个正则表达式匹配以查找包含关键字 abcd 的所有 C 风格注释 注意 这些注释
  • 如何在 Perl 中使用原始套接字?

    你怎样才能得到一个rawPerl 中的套接字 那么构建与其一起使用的数据包的最佳方法是什么 与在 C 中执行的操作相同 通过在创建套接字时设置套接字类型 在示例中CPAN http search cpan org rgarcia perl
  • CONTAINS 不适用于 Oracle Text

    我在执行此查询时遇到问题 SELECT FROM gob attachment WHERE CONTAINS gob a document java gt 0 它给了我 ORA 29902 error in executing ODCIIn
  • Perl 程序如何知道在哪里可以找到包含它使用的 Perl 模块的文件?

    如果我的 Perl 程序使用 Perl 模块 它将如何确定在哪里找到包含模块代码的文件 例如 如果程序包含 use MyModule1 Example 1 use This Here MyModule2 Example 2 它会看起来在哪里
  • Perl regex:如何知道匹配数

    我循环遍历一系列正则表达式并将其与文件中的行进行匹配 如下所示 for my regex regexs ref LINE for rawfile regex do do something here next LINE 有没有办法让我知道我
  • 如何在 Perl 中获取本周的日期?

    我有以下循环来计算本周的日期并将其打印出来 它有效 但我正在考虑 Perl 中日期 时间可能性的数量 并且想听听您对是否有更好的方法的意见 这是我写的代码 usr bin env perl use warnings use strict u

随机推荐