简体   繁体   English

Perl install_driver(Oracle)失败:-无法为模块DBD :: Oracle Win64加载'../DBD/Oracle/Oracle.dll'

[英]Perl install_driver(Oracle) failed: - Can't load '../DBD/Oracle/Oracle.dll' for module DBD::Oracle Win64

Having issues with Perl 5.20.2 and Oracle::DBD, getting following error when trying to connect to Ora 12C DB, run out of ideas on how to identify what is wrong here. Perl 5.20.2和Oracle :: DBD遇到问题,尝试连接到Ora 12C DB时出现以下错误,关于如何识别此处错误的想法已用尽。

install_driver(Oracle) failed: Can't load 'C:/Perl/site/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load_file:%1 is not a valid Win32 application at C:/Perl/lib/DynaLoader.pm line 194.
  at (eval 72) line 3.
 Compilation failed in require at (eval 72) line 3

My environment is as follows 我的环境如下

  • Perl -v - This is perl 5, version 20, subversion 2 (v5.20.2) built for MSWin32-x86-multi-thread-64int Perl -v-这是为MSWin32-x86-multi-thread-64int构建的perl 5,版本20,版本2(v5.20.2)
  • OS is Win 2008 R2 SP1 操作系统是Win 2008 R2 SP1
  • Ora client is 12.1.0 (64 bit) Ora客户端为12.1.0(64位)

Windows Environmental variables Windows环境变量

ORACLE_HOME=C:\\Oracle12c\\product\\12.1.0\\client_1 ORACLE_HOME = C:\\ Oracle12c \\产品\\ 12.1.0 \\ client_1与

Path=C:\\Oracle12c\\product\\12.1.0\\client_1\\bin;C:\\Perl\\site\\bin;C:\\Perl\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPo werShell\\v1.0\\;c:\\dmake;D:\\NTRESKIT 路径= C:\\ Oracle12c \\产品\\ 12.1.0 \\ Client_1与\\ BIN; C:\\ Perl的\\网站\\ BIN; C:\\ Perl的\\ BIN; C:\\ WINDOWS \\ SYSTEM32; C:\\ WINDOWS; C:\\ WINDOWS \\ System32 \\ Wbem; C:\\ Windows \\ System32 \\ WindowsPowerShell \\ v1.0 \\; c:\\ dmake; D:\\ NTRESKIT

TNS_ADMIN=C:\\Oracle12c\\product\\12.1.0\\client_1\\bin TNS_ADMIN = C:\\ Oracle12c \\产品\\ 12.1.0 \\的Client_1 \\ BIN

Figured it out...issue was not a files permission issue, the clue was in the " ...not a valid Win32 application " verbiage. 弄清楚了...问题不是文件权限问题,其线索在“ ...不是有效的Win32应用程序 ”中。

I was using Ora 64 bit client instead of 32-bit, removed the Oracle 12c 64-bit client and installed Oracle 12c 32-bit client (you can also install the 11g driver (apparently an Oracle client supports one version back and one version forward)). 我使用的是Ora 64位客户端而不是32位客户端,删除了Oracle 12c 64位客户端,并安装了Oracle 12c 32位客户端(您也可以安装11g驱动程序(显然,Oracle客户端支持一个版本向后和一个版本向前) ))。

I required the full 12c Ora client installer as I need access to the database tools like sqlloader, note that there is a bug in the 12c Oracle 32-bit installer, had to modify the install/oraparam.ini and replace MSVCREDIST_LOC=vcredist_x64.exe with MSVCREDIST_LOC=vcredist_x86.exe, took me a while to find the installer, link here, http://www.oracle.com/technetwork/database/enterpriseedition/downloads/database12c-win64-download-2297732.html , 32-bit driver at bottom of url, hopefully they will fix the installer) 我需要完整的12c Ora客户端安装程序,因为我需要访问sqlloader之类的数据库工具, 请注意 12c Oracle 32位安装程序中存在一个错误,必须修改install / oraparam.ini并替换MSVCREDIST_LOC = vcredist_x64.exe使用MSVCREDIST_LOC = vcredist_x86.exe,花了我一段时间才能找到安装程序,请在此处链接http://www.oracle.com/technetwork/database/enterpriseedition/downloads/database12c-win64-download-2297732.html,32位网址底部的驱动程序,希望他们会修复安装程序)

Also, very important to also add an ORACLE_HOME Win env path, I also added the Oracle client to the Path and ensured that it was before the Perl entries in my Windows Path. 另外,对于添加ORACLE_HOME Win env路径也很重要,我还向该路径添加了Oracle客户端,并确保它在Windows路径中的Perl条目之前。

Along with the comment I made above, please look at the following here on stackoverflow: 连同我在上面所做的评论一起,请在此处查看关于stackoverflow的以下内容:

Perl_and_Oracle_DBD Perl_and_Oracle_DBD

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 install_driver(Oracle) 失败:无法为 DBD::Oracle 模块加载“/usr/local/lib/perl5/auto/DBD/Oracle/Oracle.so”:libocci.so.11.1 - install_driver(Oracle) failed: Can't load '/usr/local/lib/perl5/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libocci.so.11.1 无法为模块 DBD::Oracle 加载 Oracle.dll:load_file:%1 不是位于 C:/Perl64/lib/DynaLoader.pm 第 201 行的有效 Win32 应用程序 - Can't load Oracle.dll for module DBD::Oracle: load_file:%1 is not a valid Win32 application at C:/Perl64/lib/DynaLoader.pm line 201 DBI->连接失败(install_driver(Oracle)失败:找不到DBD / Oracle.pm) - DBI->Connect failed(install_driver(Oracle) failed: Can't locate DBD/Oracle.pm) 获取错误install_driver(Oracle)失败:无法加载'/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so' - getting error install_driver(Oracle) failed: Can't load '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so' Perl DBD::Oracle 模块安装 - Perl DBD::Oracle Module installation 如何在Strawberry Perl中安装DBD :: Oracle - How to Install DBD::Oracle in Strawberry Perl 我收到错误消息“ install_driver(Oracle)失败:尝试重新加载DBD / Oracle.pm中止。 在(eval 85)第3行的要求中编译失败 - I'm getting error 'install_driver(Oracle) failed: Attempt to reload DBD/Oracle.pm aborted. Compilation failed in require at (eval 85) line 3 Perl DBI返回install_driver(Oracle)失败 - Perl DBI Return install_driver(Oracle) failed 如何在 macOS Catalina 上使用 Oracle Instant Client 安装 Perl DBD::Oracle - How to install Perl DBD::Oracle with Oracle Instant Client on macOS Catalina 为什么我的Perl CGI脚本找不到Oracle DBD? - Why can't my Perl CGI script find the Oracle DBD?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM