cx_Oracle 6.0rc1 - Oracle客户端库不能加载%1不是有效的Win32应用程序

问题描述:

我有一个Python脚本如下:cx_Oracle 6.0rc1 - Oracle客户端库不能加载%1不是有效的Win32应用程序

print ("Python version: " + platform.python_version()) 
print ("cx_Oracle version: " + cx_Oracle.version) 
print ("Oracle client: " + str(cx_Oracle.clientversion()).replace(', ','.')) 

OraUid="secret"     
OraPwd="secret"    
OraDB="secret"    

connection = cx_Oracle.connect(OraUid + "/" + OraPwd + "@" + OraDB) 

我使用Windows终端运行此,我也得到了以下错误。 enter image description here

我也有一个64位的Windows 7 | Python 2.7 32位|我的系统上的Oracle客户端32和64位版本。 请帮忙。

您的Python,cx_Oracle和Oracle客户端安装必须全部为64位或全部32位。你不能混合搭配。您收到的错误表明您正在尝试使用32位Python加载64位Oracle客户端。确保如果您使用的是32位Python,则32位Oracle客户端库首先位于您的PATH环境变量中。

+0

这很有道理 所以我的python,oracle客户端和cx_oracle必须都是相同的位版本? 这固定它顺便说一句。 奇怪的是,cx_Oracle的5.2.1版本工作,但6.x版本没有,但我认为我有它的任何版本的cx_oracle应该一点一点地匹配我的Oracle客户端。 –

+0

是的,它必须匹配。 :-)如果这解决了你的问题,请接受答案!谢谢。 –

+0

Anthony:如果我有一个64位的Oracle客户端,并且我有一个Python版本的3.6,当我做pip install cx_Oracle - pre在我的“脚本文件夹”下时,它会自动获取正确的位版本cx_Oracle,以及与我的Python版本匹配的正确版本。 –