Я могу успешно подключиться к базе данных sqlite и получить доступ к конкретной таблице, используя набор команд ниже.Подключиться к базе данных Oracle, используя SQLALCHEMY
from sqlalchemy import create_engine, MetaData, Table, and_
from sqlalchemy.sql import select
from pandas import DataFrame
db = create_engine('sqlite:///path\\database.db')
metadata = MetaData(db)
table = Table('table name', metadata, autoload=True)
Я могу извлечь данные из базы данных оракула, используя библиотеку cx_Oracle.
Однако, когда я пытаюсь подключиться к базе данных Oracle в SQLAlchemy, я получаю следующее сообщение об ошибке
NoSuchTableError: <table name>
Я использовал следующие команды:
db = create_engine('oracle://username:[email protected]:1521/instance name',echo='debug')
md = MetaData(bind=db)
t = Table('table name', md, autoload=True,schema='schema name')
Когда я использую следующие команда
t= Table('table name', md, autoload=True,oracle_resolve_synonyms=True)
Я получаю следующее сообщение об ошибке:
AssertionError: There are multiple tables visible to the schema, you must specify owner
Не могли бы вы понять, где именно я ошибаюсь.
Спасибо,
Rohit
Попробуйте пропустить имя пользователя ".name" вместо "имя таблицы". Я предполагаю, что есть другая таблица с тем же именем в другой схеме, которая также доступна этому пользователю. – webKnjaZ