【发布时间】:2015-04-11 18:38:07
【问题描述】:
我能够成功连接到 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:
我使用了以下命令:
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)
我收到以下错误:
AssertionError: 架构可见多个表,您必须指定所有者
你能解释一下我到底哪里错了吗?
【问题讨论】:
-
尝试传递
username."table name"而不是table name。我猜在其他模式中还有另一个同名的表,这个用户也可以访问。
标签: python oracle sqlalchemy