Подключение Python к Oracle DB: cx_Oracle

#python #oracle #connection #client #path-variables

#python #Oracle #подключение #клиент #путь-переменные

Вопрос:

В настоящее время я пытаюсь установить соединение с удаленной базой данных Oracle с помощью cx_Oracle.

 #!/usr/bin/python3
import cx_Oracle

#create connection
connection = cx_Oracle.connect("User", "Password", "DBHost", 
encoding="UTF-8")
print('It Works!')
  

Когда я пытаюсь подключиться к базе данных, я получаю это сообщение:

 cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library
  

Что я пробовал после этого сообщения:

  1. Загрузка и установка клиента Oracle
    • Все то же сообщение
  2. Затем я добавил переменную Path установленного клиента
    • Все то же сообщение

Я сделал что-то не так?

Комментарии:

1. Как вы установили переменную path установленного клиента? Я думаю, что это может быть проблемой.

2. Вы уверены, что ПУТЬ экспортирован? Может ли strace рассказать вам что-то еще? $ strace myapp.py

3. /home/dtv/Installfiles/InstantClientOracle/instantclient_19_9/bin ?

4. внутри этого каталога нет «bin»..

5. @Sejachu Вы следовали инструкциям (внизу страницы looong, установка ZIP-файлов)? oracle.com/database/technologies/instant-client/… Вы экспортировали LD_LIBRARY_PATH ?

Ответ №1:

Думаю, вы работаете в Linux.

Инструкции по установке cx_Oracle для использования Oracle Instant Client в Linux находятся здесь .

Попробуйте запустить ldconfig или задать LD_LIBRARY_PATH, как показано в инструкциях.

 sudo sh -c "echo home/dtv/Installfiles/InstantClientOracle/instantclient_19_9 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig