Sqlalchemy cx_Oracle create_引擎:无法设置arraysiz

2024-09-27 22:19:05 发布

您现在位置:Python中文网/ 问答频道 /正文

基于sqlalchemy文档,我应该能够在cxOracle上设置arraysize。但是,将其设置为create_engine arg不起作用: http://docs.sqlalchemy.org/en/rel_0_9/dialects/oracle.html#dialect-oracle-cx_oracle-connect

import sqlalchemy
    url = sqlalchemy.engine.url.make_url(r'oracle+cx_oracle://user:pass@host:port/dbname') # replaced with appropriate db connection
    engine = sqlalchemy.create_engine(url, arraysize=50000)
    cursor = engine.raw_connection().cursor()
    print cursor.arraysize
    #still only 50

即使在连接字符串中设置也不起作用:

^{pr2}$

我在做蠢事吗?或者有人可以发布一个片段,在引擎级别成功地设置arraysize。在


Tags: 文档orghttpurldocssqlalchemycreatearg
1条回答
网友
1楼 · 发布于 2024-09-27 22:19:05

我认为这里的问题是,您正在围绕SQLAlchemy获取并配置游标以供自己使用的常规机制进行结束运行。通过使用raw_connection,您可以直接从底层数据库驱动程序(cx\arraysize为50。如果您使用的是一些“常见的”SQLAlchemy对象(例如,通过从引擎获取一个连接并对其调用execute),那么您将遍历位于https://github.com/zzzeek/sqlalchemy/blob/rel_0_9_10/lib/sqlalchemy/dialects/oracle/cx_oracle.py#L526的代码路径,该路径确实会设置SQLAlchemy将要使用的游标上的传入arraysize。在

相关问题 更多 >

    热门问题