【问题标题】:Connect Oracle12c using python(Error while trying to retrieve text for error ORA-01804)使用 python 连接 Oracle12c(尝试检索错误 ORA-01804 的文本时出错)
【发布时间】:2019-07-30 06:47:30
【问题描述】:

我尝试使用python连接oracle12c数据库,以下是我执行的步骤:

  1. 在 anaconda 提示符下安装了 cx_Oracle。

    pip install cx_Oracle

  2. 下面是我用python脚本写的代码。

    import cx_Oracle
    dsnStr = cx_Oracle.makedsn("192.168.1.92", "1521", "orcl")
    con = cx_Oracle.connect(user="xxxxx", password="xxxxx", dsn=dsnStr)```
    

在 Spyder 中运行上述命令后,出现以下错误:

DatabaseError: 尝试检索错误 ORA-01804 的文本时出错

Oracle 和 PostgreSQL,都安装在 Windows 10 机器上。

任何帮助将不胜感激。

【问题讨论】:

    标签: python python-3.x oracle oracle12c


    【解决方案1】:

    ORA-01804 错误有多种原因:

    • 检查以确保在您的环境中正确设置了以下路径:

    LD_LIBRARY_PATH ORACLE_HOME NLS_LANG

    • 您的 oracle 客户端可能缺少 $ORACLE_HOME 目录中的一些时区 dat 文件。你应该有一个单独的 ORACLE_HOME Oracle 的每个版本。

    • 检查权限是否设置为允许读取 OCCI 库中的文件 (chmod 444)。

    Source

    【讨论】:

    • 什么是 LD_LIBRARY_PATH 和 NLS_LANG ?以及如何设置?
    • 对不起,我在您更新有关 windows 之前写了答案,我不知道如何在 windows 上设置它们
    猜你喜欢
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 2012-09-15
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 2017-06-03
    相关资源
    最近更新 更多