cx_Oracle 如何在 PL/SQL 对象类型上设置 CLOB 成员属性?

cx_Oracle how to set a CLOB member attribute on a PL/SQL Object Type?

我有一个 PL/SQL object,我想将其填充到 Python 中并传递到 PL/SQL 过程中。

PL/SQL 对象类型:

CREATE TYPE t_foo (
    name VARCHAR2(10),
    data CLOB,
);

Python:

obj_type = conn.gettype('t_foo')
o = obj_type.newobject()

o.NAME = 'test'
# Raises NotSupportedError: Object_ConvertFromPython(): unhandled data type 112
o.DATA = 'big string' 

blobvar = cur.var(cx_Oracle.CLOB)
blobvar.setvalue(0, 'big string')
# Raises NotSupportedError: Object_ConvertFromPython(): unhandled data type 112
o.CONTENTS = blobvar

有什么方法可以在对象类型上设置 CLOB 吗?

已将对此的支持添加到 cx_Oracle 的源代码中,可在此处找到:https://github.com/oracle/python-cx_Oracle。下个月左右将发布一个版本,但与此同时,您可以从克隆的存储库构建自己。