python连接oracle

windows下使用python连接oracle(10.2.0)

http://cx-oracle.sourceforge.net/下载Windows x86 Installer (Oracle10g, Python 2.5)
安装以后 在python命令行中import cx_Oracle,报错误:python.exe - 无法找到入口, 无法定位程序输入点 OCIClientVersion 于动态链接库 OCI.dll 上。

原因:本机安装的windows客户端版本不对
解决方法:卸载本机的oracle9i客户端精简版,装oracle10i数据库软件,执行成功

>>> import cx_Oracle
>>> cx_Oracle.connect( "user", "pwd","database")
<cx_Oracle.Connection to user@database>


用py2exe把程序打包后放到运行环境上,出现错误:unable to acquire oracle environment handle

原因:运行环境和开发环境oracle客户端环境不一致
解决方法:运行环境装和开发环境相同的oracle客户端环境,运行环境也装oracle10i数据库软件


运行环境的oracle的客户端版本9?10?11?必须与使用的cx_Oracle对应的oracle版本一致

也可以在py2exe打包时,排除oci.dll,然后使用生产环境对应自己的oci.dll文件(通在生产环境的机器上设置环境变量:ORACLE_HOME为E:\oracle\product\10.2.0\db_1来实现),排除的代码如下:

setup(
      options = {'py2exe': {
        'dll_excludes': ["oci.dll"]
        }},
      console=["study.py"],
      )

你可能感兴趣的:(oracle,windows,.net,python)