Python转Oracle LOBs(CLOB/BLOB) 为String字符串(转换函数使用Python)

网友投稿 771 2022-08-25


Python转Oracle LOBs(CLOB/BLOB) 为String字符串(转换函数使用Python)

从数据库直接读取小于1GB的CLOBs and BLOBs的格式作为字符串,这比数据流方式更快。 这里用到了​​​connection.outputtypehandler​​:

def OutputTypeHandler(cursor, name, defaultType, size, precision, scale): if defaultType == cx_Oracle.DB_TYPE_CLOB: return cursor.var(cx_Oracle.DB_TYPE_LONG, arraysize=cursor.arraysize) if defaultType == cx_Oracle.DB_TYPE_BLOB: return cursor.var(cx_Oracle.DB_TYPE_LONG_RAW, arraysize=cursor.arraysize)idVal = 1textData = "The quick brown fox jumps over the lazy dog"bytesData = b"Some binary data"cursor.execute("insert into lob_tbl (id, c, b) values (:1, :2, :3)", [idVal, textData, bytesData])connection.outputtypehandler = OutputTypeHandlercursor.execute("select c, b from lob_tbl where id = :1", [idVal])clobData, blobData = cursor.fetchone()print("CLOB length:", len(clobData))print("CLOB data:", clobData)print("BLOB length:", len(blobData))print("BLOB data:", blobData)

参考:https://cx-oracle.readthedocs.io/en/latest/user_guide/lob_data.html#lobdata


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python3字典转get请求参数拼接
下一篇:Python3 tkinter更新网络图片标签Label(python3在线编程)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~