设为首页 收藏本站
查看: 860|回复: 0

[经验分享] perl通过CPAN安装DBD::Oracle时出错(2)

[复制链接]

尚未签到

发表于 2018-8-31 07:01:21 | 显示全部楼层 |阅读模式
  在上一篇中对相关情况进行了描述,通过CPAN自动安装模块DBD::Oracle时报错,无法正常安装,已找到解决方法,具体情况如下:
  1、第一次安装时,根据错误提示,确认为ORACLE_HOME没有设置,导致在加载时随意设置了oracle的目录,导致相关东西找不到。
  2、在系统环境变量中添加ORACLE_HOME后,仍旧报错。原因为:没有关闭窗口,重新打开,导致增加的环境变量没有起作用
  3、增加进环境变量后,执行安装模块命令,可以进行安装,但在安装过程中报错:提示...\oracle.dll
  DLL load failed: %1 不是有效的 Win32 应用程序。 (关键问题在这)
  3.1 第一次处理,路过test,直接强制安装模块cpan>force install DBD::Oracle,模块是可以安装上,但在使用时,仍会执行test报错,无法运行perl程序
  3.2 通过网上查找,得知模块加载编译有两种方式:一种是纯Perl写的,没有依赖性,不需要编译。一种是C/C++写的,需要链接库文件进行编译。DBD::Oracle是后者。而报错信息为,无法加载oracle.dll文件,使用的加载程序为oracle下的,所以想到是加载程序有问题(因为模块存在),而oracle_home是设置了的。经过多方面查找,想到了版本问题。
  本机为64位,当初安装oracle10g时未注意到版本,而strawberry perl下载安装的为64位。进入数据库查看:sql>select * from v$version; 看到win-32bit,意识到是数据库版本与perl版本不一致,导致在使用oracle下的工具来加载文件oracle.dll时,无法加载,报错。
  解决方法:重新安装oracle为64位,重新设置oracle_home,没有报无法加载oracle.dll,此报错解决。
  http://tonyqiu.iteye.com/blog/1296583
  然在test时,又出现新问题,在执行时,会导致perl崩溃,以下几个地方失败,最后:test not OK
  (这几个地方失败,不影响DBD::Oracle的使用)失败的原因还有待查明。
  t/30long.t .................... 95/479
  #   Failed test 'blob_read_all = length($long_data[0])'
  #   at t/30long.t line 274.
  #          got: 0
  #     expected: 10240
  #   Failed test 'Strings are of different lengths (0 vs 10240)'
  #   at t/30long.t line 276.

  #   Failed test 'fetchrow_arrayref 2: select>  #   at t/30long.t line 280.
  t/30long.t .................... Dubious, test returned 5 (wstat 1280, 0x500)
  Failed 156/479 subtests


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-559046-1-1.html 上篇帖子: perl模块的一些操作(删除已安装模块) 下篇帖子: perl函数使用文件句柄
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表