Моя база данных Oracle [OracleSlim] запущена и работает в контейнере Docker, и я создал пользователя, таблицу внутри контейнера.он работает на 0.0.0.0: 1521 .Нужно ли мне установить 'oracle Instant Client', чтобы cx_oracle работал?
Я попробовал эту строку подключения 'sqlplus administrator / Welcome121 @ ORCLCDB' внутри контейнера.он работает.
from sqlalchemy import create_engine
import cx_Oracle
engine=create_engine('oracle://username:password@hostname:port/sid')
Ошибка:
cx_Oracle.DatabaseError: DPI-1047: 64-битная клиентская библиотека Oracle не может быть загружена: "libclntsh.so: не удается открыть общий объектfile: Нет такого файла или каталога ".См. https://oracle.github.io/odpi/doc/installation.html#linux для получения справки
Удачное соединение с оракулом в объекте Engine моей фляги-Sqlalchemy.Новые ORM или пакеты для подключения оракула приветствуются.Примечание: Я не установил мгновенный клиент oracle на свой локальный , но установил его в мой контейнер.
ОБНОВЛЕНО
Теперь у меня Oracle работает на моем Docker-контейнере. И я собираюсь подключить их из Python cx_Oracle в Local.с помощью метода, приведенного ниже,
import cx_Oracle
constr = 'system/oracle@//172.17.0.2:1521/orcl.localdomain'
conn = cx_Oracle.connect(constr)
возможно ли подключиться к контейнеру, работающему на локальном хосте: 1521, с помощью python cx_Oracle или Flask-SQLAlchemy?