首页 > 解决方案 > 将 python 连接到 oracle - DatabaseError:尝试检索错误 ORA-01804 的文本时出错

问题描述

当我尝试将 python 连接到 oracle 时,我在尝试检索错误 ORA-01804 的文本时遇到 DatabaseError: Error。我已经下载了即时客户端 19.3.0.0.0

我正在使用 MacBook(10.15.3)。这是我的代码:

! pip install cx_Oracle

import io
import base64
from urllib.request import urlopen

import os
os.chdir("/Users/aa/Option/Oracle/instantclient_19_3-2") # use the path we copied from step 5
import cx_Oracle

dsn_tns = cx_Oracle.makedsn("aaa", "bbb", service_name="ccc")
conn = cx_Oracle.connect(user= "ddd", password="222", dsn=dsn_tns)
c = conn.cursor()

它返回:

Requirement already satisfied: cx_Oracle in /Users/aa/opt/anaconda3/lib/python3.7/site-packages (7.3.0)
---------------------------------------------------------------------------
DatabaseError                             Traceback (most recent call last)
<ipython-input-17-d2cb8e0df445> in <module>
     10 
     11 dsn_tns = cx_Oracle.makedsn("aaa", "bbb", service_name="ccc")
---> 12 conn = cx_Oracle.connect(user= "ddd", password="222", dsn=dsn_tns)
     13 c = conn.cursor()

DatabaseError: Error while trying to retrieve text for error ORA-01804

我该如何解决?非常感谢。

标签: pythonoracle

解决方案


在运行脚本之前,请确保您的 ORACLE_HOME 和 LD_LIBRARY_PATH 环境变量已正确设置(或取消设置)。


推荐阅读