【问题标题】:cx_Oracle error ORA-24315 when connecting ... sometimes连接时出现 cx_Oracle 错误 ORA-24315 ... 有时
【发布时间】:2017-01-29 02:43:34
【问题描述】:

我编写了一个脚本并在桌面“A”上运行它,该脚本以 Oracle 数据库 (10g) 和桌面“B”上的应用服务器为目标。它运行没有任何问题。

然后我将脚本复制到桌面“B”并在以下 sn-p 处吐出以下内容:“ORA-24315:非法属性类型”:

cx_dsn = cx_Oracle.makedsn(cx_hostname, cx_port, cx_SID)
cx_connection = cx_Oracle.Connection(cx_username + '/' + cx_password + '@'+ cx_dsn )

两台机器的配置如下:

  • Windows 7(64 位)
  • 32 位版本的 Python (ActiveState)
  • pypm install cx-oracle(导致版本 cx_Oracle.clientversion() = (11, 2, 0, 3, 0) - 是的,这确实表示 v11,但它与桌面“A”中的 10g 版本有效)

但桌面“B”安装了 Oracle 10g 和 WebSphere 7 - 桌面“A”没有

我已经搜索过,很多人都遇到过这个问题或类似的问题,但总的来说,唯一建议的解决方案是:

  1. 确保路径在 Python 库之前不引用 Oracle 库 - 我猜这里的建议是桌面 B 上的 Oracle 安装存在干扰。所以我配置了路径,使它只引用 Python(没有提到 Oracle 等)——这没有帮助
  2. 确保您使用的是 32 位版本的所有内容或 64 位版本的所有内容 - 就 Python 而言,我使用了 32 位版本
  3. 确保 cx-Oracle 与您的目标数据库相匹配...好吧,看起来我有问题但是...奇怪的是脚本确实可以在桌面“A”上运行,所以我想它一定是桌面“B”上的环境。所以我开始安装专用的 10g 版本的 cx_Oracle。也没有成功。 (这个查询https://stackoverflow.com/questions/10456598/cx-oracle-multiple-instances-of-oracle-10-and-11-plus-oracle-home 没有得到回答,但听起来很相似)

所以我被困住了 - 有什么建议吗?

【问题讨论】:

  • 确保所有变量和文字都是字节字符串而不是 unicode 字符串。可能就是这样。
  • 我试过了,并确认它绝对不是 unicode 字符串问题。我在干净的 XP 机器上重复了安装,并且连接到桌面“B”没有问题,因此 cx_Oracle 必须从桌面“B”上本地安装的 Oracle db 中获取一些东西 - 当我得到解决方案时,我将发布解决方案.

标签: python oracle cx-oracle


【解决方案1】:

在安装另一个版本的 Oracle 客户端后,我们遇到了 ORA-24315 错误。在 PATH 环境变量中,我们只是更改了 Oracle 路径条目的顺序。可能 cx_Oracle 只考虑了 Oracle 在 PATH 变量中的第一次出现。

我们的配置: Win 7,Oracle 11.2.0.3,cx_Oracle-5.1.1-11g.win32-py2.6

改变: 另外安装了 Oracle 10.2.0

产生的错误信息: cx_Oracle.DatabaseError: ORA-24315: 非法属性类型

我们如何让它再次工作: 更改了 PATH 的顺序 path_to_Oracle10;path_to_Oracle11;... 至 path_to_Oracle11;path_to_Oracle10;...

【讨论】:

    【解决方案2】:

    无论我如何尝试连接,我都收到错误 ORA-24315

    解决方案:

    我最初下载/安装的是Ora11g版本,但数据库是10g。 我安装了10g版本的cx_Oracle,第一次连接就成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-31
      • 2021-08-06
      • 2016-03-16
      • 1970-01-01
      • 2019-11-10
      • 1970-01-01
      • 2015-10-25
      相关资源
      最近更新 更多