数据库连接失败 python cx_Oracle - ORA-01804

问题描述 投票:0回答:2

我尝试将oracle DB与python 3.9.7中的cx_Oracle包连接。 cx_Oracle版本是8.3.0。

当我尝试使用命令 cx_Oracle.clientversion() 连接时,出现错误:

数据库错误:尝试检索错误 ORA-01804 的文本时出错

Linux 操作系统,附上我的 .bash_profile

使用sqlplus命令我成功连接数据库。

.bash_profile

enter image description here

谢谢

python cx-oracle
2个回答
0
投票

当环境变量

ORACLE_HOME
的值与实际加载的库之间存在差异时,通常会发生此错误。您可以将环境变量
DPI_DEBUG_LEVEL
设置为值
64
并运行脚本。它会告诉您使用哪种方法来加载库。如果这不能帮助您解决问题,请将输出粘贴到您的问题中,我会尽力提供进一步帮助。

另请注意,有一个可用的新驱动程序 (python-oracledb),它不需要 Oracle 客户端库,因此不应遇到此问题。看一下这里:https://levelup.gitconnected.com/open-source-python-thin-driver-for-oracle-database-e82aac7ecf5a


0
投票

使用Windows下的完整Oracle客户端,我们确实遇到了这个错误“DatabaseError:尝试检索错误ORA-01804的文本时出错”,并且我们花了相当长的时间才解决它。在笔记本电脑上,路径变量中的 Oracle 客户端指向 bin 文件夹,并且 TNS_ADMIN 已经设置了通过 Python 脚本设置的唯一需要的环境变量是这个:

os.putenv('LD_LIBRARY_PATH', 'C:\Ora19c64\product 9.3.

© www.soinside.com 2019 - 2024. All rights reserved.