zoukankan      html  css  js  c++  java
  • 在python中使用cx_Oracle模块出现“DLL Load failed”的处理方法

    当在python中使用cx_Oracle模块时,会出现“DLL Load failed”的错误,网上有很多讲这个问题的处理方法的,但是都不够详细,经过摸索,把详细的解决方法写在这里。

    网上的一般方法是建议把   oci.dll   放入到python的site-package文件夹下,但是具体oci.dll是哪个版本的,没有具体说明,这里我要说的是:oci.dll的版本一定要和cx_Oracle模块的版本一致,不一定要和实际的Oracle的数据版本一致。

    例如:cx_Oracle版本是:10g的,那么oci.dll 也必须是10g的,至于实际连接的数据库版本,只要版本比10g低就可以了,例如9i。
    ================================

    环境:

    Win7 64位

    Python2.7.2 64位

    Oracle client 32位

    cx_Oracle: Windows amd64 Installer (Oracle 11g, Python 2.7)

    在python终端报错:

    Python代码  收藏代码
    1. >>> import cx_Oracle 
    2. Traceback (most recent call last): 
    3.   File "<stdin>", line1, in <module> 
    4. ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。 

    原因:

    在64位系统上安装32位Oracle client,是因为要安装PLSQL Developer,但是货认不了64位的Oracle Client。所以现在导致现在的cx_Oralce认不到oci.dll的32位版本。

    解决方法:

    1.安装64位的oracle client

    2.拷贝一个64位的 oci.dll 到%python_home%\Lib\site-packages 下

     

    附:

        1)oci.dll下载地址(脚本之家):

    http://www.jb51.net/dll/oci.dll.html#down

    下载完成解压,选取其中的64位中的oci.dll复制到site-packages目录下即可。

        2)cx_Oracle下载地址

    http://sourceforge.net/projects/cx-oracle/files/5.1.2/

    选择对应的系统位数,windows最好下载msi格式的,直接执行。

  • 相关阅读:
    使用阿里云docker加速器
    Linux之screen命令详解
    Linux下Git和GitHub使用方法总结
    CentOS 6&7安装ffmpeg
    用yum安装lamp和lnmp环境
    nginx错误日志error_log日志级别
    CentOS7 yum 安装mysql 5.6
    python实现对数据的写入和读取(excel)
    windows下配置sublime
    远程配置pycharm
  • 原文地址:https://www.cnblogs.com/chenjianhong/p/4144807.html
Copyright © 2011-2022 走看看