我能夠成功連接到sqlite數據庫並使用下面的命令集訪問特定的表。使用SQLALCHEMY連接到Oracle數據庫
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:[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
你能否理解我究竟在哪裏出錯。
感謝,
羅希特
嘗試傳遞'username。「表名」「而不是'表名」。我想在另一個架構中還有另一個具有相同名稱的表,該用戶也可以訪問該表。 – webKnjaZ 2015-02-12 17:28:49