【问题标题】:Win7 64bit cx_Oracle cx_Oracle.pyd not foundWin7 64 位 cx_Oracle cx_Oracle.pyd 未找到
【发布时间】:2016-06-05 11:37:01
【问题描述】:

我正在尝试从 Python 3.5 连接到 Oracle DB 11.2g。 我用 cx_Oracle 试试运气。如果您有更好的选择,欢迎使用其他方式。在这里你可以看到我已经尝试了很多方法来实现我的事业。

我从以下位置下载了 MS Windows 安装程序 3.5 https://pypi.python.org/pypi/cx_Oracle/5.2.1 从一篇博文中读到,安装后我应该将 cx_Oracle.pyd 文件放入 pythonpath。但是我只在它的 cx_Oracle-wininst.log 文件中找到了测试和示例文件?甚至没有找到我可以尝试使用安装程序留下的 cx_Oracle-doc\BUILD.txt 构建它的 setup.py。

这是我能找到的最好的建议: http://prasoon11.blogspot.fi/

在此之前我确实尝试过: 点安装 cx_Oracle 失败,错误代码 1 构建“cx_Oracle”扩展 错误:无法找到 vcvarsall.bat

为了解决这个错误,我在这里结束了: http://www.lfd.uci.edu/~gohlke/pythonlibs/ cx_Oracle-5.2.1+oci12c-cp35-none-win32.whl

我如何知道它正在尝试使用哪个 dll?它似乎找到了一些 dll(我如何找到它?),但可能是因为驱动程序是 oci12 但我来自 Oracle 的即时客户端 dll 是 11g。我认为 Oracle 即时客户端 12c 也适用于 Oracle11g DB。如何告诉 Python3 正在使用此驱动程序:cx_Oracle-5.2.1+oci12c-cp35-none-win32.whl 以使用我下载的 Oracle Instantclient 12c? 或者我可以从某个地方获得一个 oracle 11g cx_Oracle 吗?

在 python3 代码中,我尝试了这个让 cx_oracle 找到 oci.dll:

import os
os.environ["ORACLE_HOME"] = "path to folder containing oci.dll"

import cx_Oracle 
#dostuff

但我得到了这个错误: ImportError:DLL 加载失败:找不到给定的过程。 cx_Oracle 是否使用注册表查找 oci.dll?

【问题讨论】:

    标签: python windows oracle


    【解决方案1】:

    你可以在这里获得11g cx:https://sourceforge.net/directory/os:windows/?q=cx_oracle-11g

    乍一看,您似乎是在告诉您的库从文档文件夹中工作,这意味着您必须进入 odbc 并告诉它使用您安装了 oracle 的目录和 python 来读取文档存储。看起来像一个简单的答案,但也许你只是错过了一些类似的东西。还要仔细检查您的路径是否在您的系统变量和您的用户帐户中,您是否以管理员身份登录?我再四处看看。但这至少是从 sourceforge 下载的开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-20
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 2017-06-08
      • 2011-06-26
      • 1970-01-01
      相关资源
      最近更新 更多