gpt4 book ai didi

python - 读取 lob 时出现 cx_Oracle MemoryError

转载 作者:太空狗 更新时间:2023-10-30 02:50:40 25 4
gpt4 key购买 nike

当尝试使用 cx_Oralce 从 lob 字段读取数据时,我收到“exceptions.MemoryError”。这段代码一直有效,这个lob字段似乎太大了。

Example:
xml_cursor = ora_connection.cursor()
xml_cursor.arraysize = 2000
try:
xml_cursor.execute(“select xml_data from xmlTable where id = 1”)
for row_data in xml_cursor.fetchall():
str_xml = str(row_data[0]) #this throws “exceptions.MemoryError”

最佳答案

是的,如果 Python 给出 MemoryError,这意味着只有一行中的一个字段占用的内存比您拥有的多(当然对于 LOB 来说很可能)。您必须将其切片并分成 block (使用 select dbms_lob.substr(xml_data, ... 重复)并将其提供给增量 XML 解析器(或将其写入文件,或者您尝试对多 GB LOB 执行的操作)。DBMS_LOB 是 Oracle 提供的一个文档齐全的程序包,您可以在许多地方找到它的文档,例如 here .

关于python - 读取 lob 时出现 cx_Oracle MemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1182146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com