在安装了oracle不同的服务器上运行perl脚本报错,环境变量问题

同样的perl脚本,在不同的服务器上居然不能运行,报错如下:
原来是环境变量导致的,
D:\perl>perl perlConnDemo.pl
Use of :unique is deprecated at F:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSW
in32-x86-multi-thread/Config.pm line 39.
Use of :unique is deprecated at F:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSW
in32-x86-multi-thread/Config.pm line 80.
Perl lib version (v5.8.3) doesn't match executable version (v5.16.1) at F:\oracl
e\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-thread/Config.pm line 32.
Compilation failed in require at F:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MS
Win32-x86-multi-thread/DynaLoader.pm line 25.
BEGIN failed--compilation a
borted at F:\oracle\product\10.2.0\db_1\perl\5.8.3\li
b/MSWin32-x86-multi-thread/DynaLoader.pm line 25.
Compilation failed in require at F:\oracle\product\10.2.0\db_1\perl\site\5.8.3\l
ib/MSWin32-x86-multi-thread/DBI.pm line 156.
BEGIN failed--compilation aborted at F:\oracle\product\10.2.0\db_1\perl\site\5.8
.3\lib/MSWin32-x86-multi-thread/DBI.pm line 156.
Compilation failed in require at perlConnDemo.pl line 4.
BEGIN failed--compilation aborted at perlConnDemo.pl line 4.

从上述信息很明显,应该是早前安装的Oracle与新装的Perl冲突了,而且冲突是因为Oracle在安装的时候往我们系统中添加了一个Perl5Lib的环境变量,而这个环境变量指向的则是Oracle安装目录下那个模块不全的Perl,从信息提示可以知道为Oracle Home/perl目录。
解决方法:
1、适合经常与Oracle打交道而偶尔玩下perl的一类朋友:
如果是这样的话,建议就不要对环境变量Perl5Lib动手了。在运行Perl命令之前,设置下当前命令行窗口的临时Perl5Lib变量就可以了。如笔者的Perl环境安装在D盘根目录下,则在运行cmd后,使用命令Set Perl5Lib="D:\Perl\bin\"改变下环境变量Perl5Lib的指向,该命令作用域为Session级的,即重开Cmd后还得再次设置。
2、适合经常与Perl打交道而偶尔玩下Oracle的一类朋友:
可以先备份下环境变量Per5lLib的内容,然后将Perl5Lib清空或者设置为D:\Perl\Lib即OK。
3、两者都经常打交道的:
            将D:\Perl\lib加到环境变量Perl5Lib的最前面,注意,不是替换


小记一下

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年11月    »
123
45678910
11121314151617
18192021222324
252627282930
搜索
标签列表
网站分类
最新留言
    文章归档
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.闽ICP备11018667号-2