Я пытаюсь подключиться к базе данных Oracle 12c, используя cx_oracle. Мой код указан ниже:
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: я устанавливаю переменные среды ORACLE_HOME, PATH и LD_LIBRARY_PATH перед вызовом метода подключения cx_oracle. Тем не менее, все еще получаю ту же ошибку.
Редактировать 2: при запуске этого скрипта от имени пользователя оракула я получаю сообщение об ошибке ниже: