用cx读LONG RAW_

2024-04-19 13:09:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有长原始列的遗留数据库。此列中存储的数据约为100KB。 我正试图用cxu Oracle访问这些二进制数据。在

它正在工作,但是我可以提取的最大大小是~41KB!在

这是我的代码(来自http://dbaportal.eu/?q=node/147

cursor = db.cursor()    
cursor.arraysize = 1
cursor.setoutputsize(1200000000)

cursor.execute("select data from mytable")
print cursor.description
for row in cursor:
    data = row[0]
    f = open("/tmp/data",'wb')
    f.write(data)
    f.close()
    # Only first line
    break

输出如下:

^{pr2}$

我知道LONG RAW不容易处理。有些方法告诉您用BLOB列重新创建一个新表。但我负担不起,因为我已经有了数以百万计的这种格式的数据。。。在

有什么想法吗?在


Tags: 数据代码数据库nodehttpdbdata二进制
1条回答
网友
1楼 · 发布于 2024-04-19 13:09:41

您可以创建一个带有BLOB列的全局临时表,然后在获取LONG RAW值之前,使用TO_LOB转换函数将其插入该表中。然后可以从临时表中选择BLOB值。在

相关问题 更多 >