设置Cx_Oracle

时间:2011-06-22 17:49:52

标签: python database cx-oracle

我在跑...

SQL*Plus: Release 9.2.X.X.X - Production on Wed Jun 22 13:02:14 2011

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.X.X.X - 64bit Production
With the Partitioning, OLAP and Data Mining options

使用Python 2.7.1版

我为Oracle 10g安装了32位版本的cx_Oracle但我得到了

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    import cx_Oracle
ImportError: DLL load failed: The specified procedure could not be found.

当我尝试导入时。

我检查过,我的%ORACLE_HOME% Env变量设置为我的Oracle客户端安装目录。

我能想到的唯一问题是为Oracle 10g制作的cx_Oracle是指客户端是10g(我的是9)而不是数据库(我的数据库是10g)...或者说cx_Oracle模块是“32位”是指我的远程数据库是32位而不是我的本地机器。我做了一些不同版本的游戏无济于事。

感谢。

编辑:

另外,我被告知Oracle 9应该可以使用某些版本的cx_Oracle ..但是哪些版本?我找不到这样的版本。这里有工作吗?

  

编辑:

     

我已在本地计算机上更新为instantclient 10.2。但是,现在我可以导入cx_Oracle,但是当我尝试建立连接时,我得到以下内容:

Traceback (most recent call last):
  File "C:\oracleTest.py", line 2, in <module>
    connection = cx_Oracle.connect("username/password@(DESCRIPTION STRING)")
DatabaseError: ORA-12705: Cannot access NLS data files or invalid environment specified

1 个答案:

答案 0 :(得分:1)

您的Oracle客户端应该与cx_Oracle版本匹配。使用Oracle 9客户端的任何原因?您应该能够下载并安装版本10(甚至11个客户端),并匹配cx_Oracle版本。它们都可以与Oracle 10g一起使用。

我们在工作中使用Oracle 10g,并使用11g客户端(以及相应的cx_Oracle版本)。

编辑:我在这里找到了一些旧版本的cx_Oracle:http://sourceforge.net/projects/cx-oracle/files/

...但您可能需要旧版本的Python(2.6)用于Oracle 9客户端。