注册

dmPython.NotSupportedError: Variable_TypeByValue(): unhandled data type LOB

黑夜中的行者 2022/12/14 1038 1 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM8 Build 2022.09.14
【操作系统】:Windows11
【CPU】: x86
【问题描述】*:因为业务需要,在Python程序中,需要从Oracle读取表的内容,再写入达梦的表中。

从Oracle读取的数据放在一个tuple数据中

    oracle_cur = oracle_conn.cursor()
    oracle_cur.execute(sql)
    oracle_rows = oracle_cur.fetchall()

由于该表在两个数据库中是完全一致的,读取的数据没有进行数据类型转换,

   cursor.executemany(insert_sql, oracle_rows)
   cursor.execute("commit")

以上代码对于没有CLOB字段的表运行正常,但是遇到含有CLOB字段的表,在写入时发生错误。

dmPython.NotSupportedError: Variable_TypeByValue(): unhandled data type LOB

在Oracle数据库中select该表发现,该CLOB字段实际上最长的数据也只有200字符,也包括一些为NULL的数据。很显然并不是由于数据溢出造成的错误。

该系统中有相当数量的CLOB和BLOB字段,如何在代码中处理类似的错误?

回答 0
暂无回答
扫一扫
联系客服