[英]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 我的环境如下
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的以下内容:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.