首页 文章

Perl install_driver(Oracle)失败: - 模块DBD可以't load ' ../DBD/Oracle/Oracle.dll':: Oracle Win64

提问于
浏览
0

遇到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

我的环境如下

  • Perl -v - 这是为MSWin32-x86-multi-thread-64int构建的perl 5,版本20,subversion 2(v5.20.2)

  • 操作系统是Win 2008 R2 SP1

  • Ora客户端是12.1.0(64位)

Windows环境变量

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

路径= 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 \ WindowsPo werShell \ v1.0 ; c:\ dmake; D:\ NTRESKIT

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

2 回答

  • 0

    想出来......问题不是文件许可问题,线索是在“ ...not a valid Win32 application ”的措辞中 .

    我删除了Oracle 12c 64位客户端,然后安装了Oracle 12c 32位客户端,您也可以安装11g驱动程序(显然Oracle客户端支持一个版本,一个版本支持) .

    我需要完整的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位驱动程序)

    此外,还要添加ORACLE_HOME Win env路径非常重要,我还将Oracle客户端添加到Path并确保它在我的Windows路径中的Perl条目之前 .

  • 1

    除了上面的评论,请在stackoverflow上查看以下内容:

    Perl_and_Oracle_DBD

相关问题