linux - 使用 Perl 的多个 Oracle 版本

标签 linux oracle perl

用一个系统监控两个不同版本的Oracle数据库

12.1 和 10.1

为每个安装了 Oracle 客户端、sdk、sqlplus,我可以通过设置适当的值后设置这些来查询 12.1 db 或 10.1

export LD_LIBRARY_PATH=
export PATH=
export ORACLE_BASE=
export ORACLE_HOME=
export TNS_ADMIN=`

但是 Perl 似乎并没有选择不同的版本。我得到:

严重 - 无法连接到 10.16.183.98:1521/CV。 ORA-03134: 不再支持与该服务器版本的连接。 (DBD 错误:OCISessionBegin)

表示它仅使用 12.1 尝试连接到 10.1。能够从 Perl 查询两个不同 Oracle 数据库版本的最佳方法是什么?

最佳答案

当您尝试通过环境变量来控制它时,我假设您不需要在同一个程序中与两个数据库对话。

如果我没记错的话,DBD::Oracle需要针对您打算使用它的特定 Oracle 客户端构建。因此,您可能希望将两个不同版本的库编译到单独的目录中,并使用 lib 指向您希望使用的特定版本。

关于linux - 使用 Perl 的多个 Oracle 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30244684/

相关文章:

c - "(datatype) (*ptrname) (datatype)"是什么意思?

sql - oracle正则表达式提取标签内的字符串

java - 为什么字符串打印不正确?

perl - 在一台机器上安装多个 Perl 共享一个 cpan_home 是否安全?

html - 如何使用 Perl 删除特定的 HTML <table>?

linux - 尽管有 sudo 权限,但编译 Clozure CL 时出现权限错误

linux - 在旧的 linux 内核上安装 perf

linux - 在linux中显示目录中所有文件中的特定行

java - SQL从至少有一个异性的表中获取前3名

regex - 通过perl从字符串中提取数据