我在通过SQLAlchemy连接访问Oracle数据库中的表时遇到问题。具体来说,我使用Kedrocatalog.load('table_name')
并获得错误信息Table table_name not found
。因此,我决定使用下面答案中列出的方法来测试连接:如何验证SqlAlchemy引擎对象。
from sqlalchemy import create_engine
engine = create_engine('oracle+cx_oracle://USER:PASSWORD@HOST:PORT/?service_name=SERVICE_NAME')
engine.connect()
Error:InvalidRequestError: could not retrieve isolation level
我已经尝试显式地添加隔离级别,正如文档中所解释的那样:
engine = create_engine('oracle+cx_oracle://USER:PASSWORD@HOST:PORT/?service_name=SERVICE_NAME', execution_options={'isolation_level': 'AUTOCOMMIT'})
:
engine.connect().execution_options(isolation_level='AUTOCOMMIT')
:
connection = engine.connect()
connection = connection.execution_options(
isolation_level="AUTOCOMMIT"
)
但是我在所有情况下都得到相同的错误。
从SqlAlchemy 1.3.21升级到1.3.22解决了这个问题。