【发布时间】:2021-08-06 17:36:27
【问题描述】:
我正在尝试使用 cx_oracle 连接 Oracle 12c 数据库。我的代码如下:
import cx_Oracle
from cx_Oracle import DatabaseError
import pandas as pd
import credaws
import os
os.system('export ORACLE_HOME=/opt/app/oracle/product/client_12_2')
os.system('export PATH=$ORACLE_HOME/bin:$PATH')
os.system('export LD_LIBRARY_PATH=$ORACLE_HOME/lib')
try:
# cx_Oracle.init_oracle_client(lib_dir=libdir)
dsn_tns=cx_Oracle.makedsn(credaws.host_name,credaws.port_number,service_name=credaws.service_name)
conn = cx_Oracle.connect(user=credaws.user,password=credaws.password,dsn=dsn_tns)
if conn:
cursor = conn.cursor()
print('Connection Successful')
except DatabaseError as e:
err, = e.args
print("Oracle-Error-Code:", err.code)
print("Oracle-Error-Message:", err.message)
finally:
cursor.close()
conn.close()
我仍然收到此错误:
Oracle 12c 安装在 /opt/app/oracle/product/client_12_2 位置。我做错了什么?
编辑 1:我在调用 cx_oracle 连接方法之前设置了 ORACLE_HOME、PATH 和 LD_LIBRARY_PATH 环境变量。但是,仍然出现相同的错误。
编辑 2:以 oracle 用户身份运行此脚本时,出现以下错误:
【问题讨论】:
-
我在使用 Oracle 19c 时遇到了同样的问题。如果有人能回答这个问题,我将不胜感激。
-
我尝试设置 ORACLE_HOME、PATH 和 LD_LIBRARY_PATH 变量。但是,仍然得到同样的错误。更新了问题中的代码。
标签: python python-3.x cx-oracle