【发布时间】:2022-07-08 06:55:14
【问题描述】:
我尝试在 python 3.9.7 中将 oracle DB 与 cx_Oracle 包连接。 cx_Oracle 版本为 8.3.0。
当我尝试使用命令 cx_Oracle.clientversion() 连接时出现错误:
DatabaseError:尝试检索错误 ORA-01804 的文本时出错
Linux 操作系统,附上我的 .bash_profile
使用sqlplus命令我成功连接数据库。
谢谢
【问题讨论】:
我尝试在 python 3.9.7 中将 oracle DB 与 cx_Oracle 包连接。 cx_Oracle 版本为 8.3.0。
当我尝试使用命令 cx_Oracle.clientversion() 连接时出现错误:
DatabaseError:尝试检索错误 ORA-01804 的文本时出错
Linux 操作系统,附上我的 .bash_profile
使用sqlplus命令我成功连接数据库。
谢谢
【问题讨论】:
当环境变量ORACLE_HOME的值与实际加载的库不符时,一般会出现此错误。您可以将环境变量 DPI_DEBUG_LEVEL 设置为值 64 并运行您的脚本。它会告诉您使用哪种方法来加载库。如果这不能帮助您解决问题,请将输出粘贴到您的问题中,我会尽力提供帮助。
还要注意,有一个新的驱动程序可用 (python-oracledb),它不需要 Oracle 客户端库,因此不应该遇到这个问题。看这里:https://levelup.gitconnected.com/open-source-python-thin-driver-for-oracle-database-e82aac7ecf5a
【讨论】: