Oracle 10g中安装Perl环境所产生的冲突

来源:互联网 发布:360网络测速器在线 编辑:程序博客网 时间:2024/05/16 18:28

摘自东方瑞通Oracle数据库资深讲师杨老师的一篇工作日志:为了准备下周的oracle 10g培训,今天从官网下载完Active Perl5.10安装完后,写了很简单的Perl脚本,仅引用了一个文件拷贝模块,调用Perl解释器来运行程序的时候,报了一堆错,先是一个弹出框提示 无法启动此程序,计算机丢失Perl58.dll’,点击确定后报出错误信息:Can't load 'D:/oracle/product/10.2.0/db_1/perl/5.8.3/lib/MSWin32-x86-multi-threa d/auto/File/Glob/Glob.dll' for module File::Glob: load_file:找不到指定的模块。 a t D:/oracle/product/10.2.0/db_1/perl/5.8.3/lib/MSWin32-x86-multi-thread/XSLoader .pm line 68.

从上述信息很明显,应该是早前安装的Oracle与新装的Perl冲突了,而且冲突是因为Oracle在安装的时候往我们系统中添加了一个 Perl5Lib的环境变量,而这个环境变量指向的则是Oracle安装目录下那个模块不全的Perl,从信息提示可以知道为Oracle Home/perl目录。

知道了错误原因,那么改的方法就多了去了:

1、经常与oracle打交道而偶尔玩下perl的一类朋友:

如果是这样的话,建议就不要对环境变量Perl5Lib动手了。在运行Perl命令之前,设置下当前命令行窗口的临时Perl5Lib变量就可以 了。如我的Perl10安装在G盘根目录下,则在运行Cmd后,使用命令Set Perl5Lib="G://Perl/bin/"改变下环境变量Perl5Lib的指向,该命令作用域为Session级的,即重开Cmd后还得再次设 置。

2、与上述情况相反的:

可以先备份下Per5lLib的内容,然后将Perl5Lib清空或者设置为G://Perl/LibOK

3、两者都经常打交道的:

G://Perl/Bin加到Perl5Lib的前面,注意,不是替换。

希望这个经验对你有用。Make IT Better

文章来源:东方瑞通

原创粉丝点击