cx_oracle不能写入,cx_Oracle-加载DLL失败

我在用Python导入cx_Oracle时遇到问题。我知道这里已经讨论了许多与cxúu Oracle有关的问题,但在阅读了所有相关主题之后,似乎找不到解决问题的方法。

我有两台机器,一台是我的电脑,另一台是远程工作站,配置类似(Windows7,64位)。我需要在远程工作站上安装cx_Oracle,但它不起作用,而在我的计算机上运行良好(我可以成功导入模块并连接到数据库)。在远程工作站上,出现以下错误:Traceback (most recent call last):

File "", line 1, in

import cx_Oracle

ImportError: DLL load failed: The specified module could not be found.

我已经仔细检查了我的环境变量,并重新安装了几次cx_Oracle,但我无法让它正常工作。。。我做了一些关于这个问题的研究,我有点困在这里,我不明白为什么它在我的计算机上运行良好,但在这个远程工作站上没有(唯一的区别是这个远程工作站是一个虚拟机)。

有人知道可能是什么问题吗?

运行dependency Walker的两个cx_oracle.pyd(在我的计算机上运行正常,在cx_oracle不工作的远程工作站上运行),唯一的区别是在远程工作站上找不到dll MSVCR100和MSVCR90。

我设置了以下环境变量:C:\Oracle as ORACLE_BASE

C:\Oracle\instantclient_12_1作为ORACLE主页

C:\Oracle\instantclient_12_1添加到“Path”变量中

两台机器都是64位的,Windows7

我运行的是Python2.7.5

我在C:\Oracle\instantclient_12_1中解压缩了instantclient-basic-nt-12.1.0.1.0

我安装了cx_Oracle-5.1.2-11g.win32-py2.7s

在远程工作站上,sys.path告诉我:'C:\Python27\Lib\idlelib', 'C:\Windows\system32\python27.zip', 'C:\Python27\DLLs', 'C:\Python27\lib', 'C:\Python27\lib\plat-win', 'C:\Python27\lib\lib-tk', 'C:\Python27', 'C:\Python27\lib\site-packages'

编辑1

在上一篇文章中,所有文件(Python 2.7、cx_Oracle包、Oracle Instant client)都用于32位系统。

我为64位系统下载了相同版本的文件,现在远程工作站上一切正常。

编辑2

基本上,我的解决方案是为64位系统而不是32位系统重新安装所有东西(Python、Oracle Instant Client和cx_Oracle)。

总而言之,这是我的问题,也是如何解决的:

1) 我安装了Cx_Oracle(来自32位windows安装包)和Oracle Instant Client(32位),它在我的64位系统上运行良好,32位系统运行python 2.7.5

2) 我在一台虚拟机上做了同样的事情(也运行64位系统),但它不起作用

3) 为了让它在虚拟机上工作,我重新安装了64位系统(python、Instant Client、Cx_Oracle)的所有组件,它终于工作了

另外,请确保下载与您的数据库版本(在我的例子中是11g)相对应的cx_Oracle和Instant client。

希望这有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值