我能够成功地连接到一个SQLite数据库,并使用以下命令集访问特定的表:
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 中连接到 Oracle 数据库时,出现了以下错误:
我使用了以下命令:NoSuchTableError: <table name>
db = create_engine('oracle://username:password@hostname: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)
我遇到了以下错误:
断言错误:模式中存在多个可见表,必须指定所有者
您能否解释一下我出了什么问题?
username."table name"
而不是table name
。我猜在其他架构中有另一个同名的表,这个用户也可以访问。 - webknjaz -- Слава Україні