正确设置cx_Oracle.Cursor.bindarraysize

时间:2018-09-25 14:19:30

标签: python oracle cx-oracle

我发现一些相互矛盾的文档,说明cx_Oracle中Cursor.bindarraysize属性的正确设置是什么。

cx-oracle.readthedocs

  

此读写属性指定一次绑定的行数,在通过setinputsizes()或var()创建变量时使用。默认值为1,表示一次绑定一行。

Documentation for the database以不同的方式描述了绑定数组的大小:

  

绑定数组的大小等于其包含的行数乘以每行的最大长度。行的最大长度等于最大字段长度的总和加上开销,如下所示:

我倾向于相信前者,因为当您调用Cursor.setinputsizes时,Python API可能正在执行该计算,但是有人可以确认或否定这种信念吗?

1 个答案:

答案 0 :(得分:0)

关于cx_Oracle的工作方式,cx_Oracle文档是正确的。此值指定可以一次绑定的行数。值1适用于所有情况,除非正在调用executemany()。我考虑过删除此值,因为无论如何(使用参数arraysize)创建变量时都可以指定大小,如果不这样做,当它检测到绑定了多行时,它将自动调整变量的大小。