cx_Oracle如何在PL/SQL对象类型上设置CLOB成员属性?
问题描述:
我有一个PL/SQL object
,我想在Python中填充并传递到PL/SQL过程。cx_Oracle如何在PL/SQL对象类型上设置CLOB成员属性?
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。一个版本将在下个月左右发布,但同时你可以从克隆版本库中构建自己的版本。