SQLAlchemy Oracle - InvalidRequestError: could not retrieve isolation level
SQLAlchemy Oracle - InvalidRequestError: could not retrieve isolation level
我在通过 SQLAlchemy 连接访问 Oracle 数据库中的表时遇到问题。具体来说,我正在使用 Kedro catalog.load('table_name')
并收到错误消息 Table table_name not found
。所以我决定使用此答案中列出的方法测试我的连接:.
from sqlalchemy import create_engine
engine = create_engine('oracle+cx_oracle://USER:PASSWORD@HOST:PORT/?service_name=SERVICE_NAME')
engine.connect()
错误:InvalidRequestError: could not retrieve isolation level
我已经尝试明确添加隔离级别,如 documentation 中所述:
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 解决了这个问题。
我在通过 SQLAlchemy 连接访问 Oracle 数据库中的表时遇到问题。具体来说,我正在使用 Kedro catalog.load('table_name')
并收到错误消息 Table table_name not found
。所以我决定使用此答案中列出的方法测试我的连接:
from sqlalchemy import create_engine
engine = create_engine('oracle+cx_oracle://USER:PASSWORD@HOST:PORT/?service_name=SERVICE_NAME')
engine.connect()
错误:InvalidRequestError: could not retrieve isolation level
我已经尝试明确添加隔离级别,如 documentation 中所述:
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 解决了这个问题。