小编roh*_*nha的帖子

使用SQLALCHEMY连接到Oracle数据库

我能够成功连接到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)
Run Code Online (Sandbox Code Playgroud)

我可以使用cx_Oracle库从oracle数据库中获取数据.

但是,当我尝试连接到sqlalchemy中的Oracle数据库时,我收到以下错误

NoSuchTableError: <table name>
Run Code Online (Sandbox Code Playgroud)

我使用了以下命令:

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')
Run Code Online (Sandbox Code Playgroud)

当我使用以下命令

t= Table('table name', md, autoload=True,oracle_resolve_synonyms=True)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

AssertionError: There are multiple tables visible to the schema, you must specify owner
Run Code Online (Sandbox Code Playgroud)

能否请您理解我哪里错了.

谢谢,

罗希特

sqlalchemy

10
推荐指数
3
解决办法
2万
查看次数

标签 统计

sqlalchemy ×1