我有一个带有长原始列的遗留数据库。此列中存储的数据约为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
列重新创建一个新表。但我负担不起,因为我已经有了数以百万计的这种格式的数据。。。在
有什么想法吗?在
您可以创建一个带有
BLOB
列的全局临时表,然后在获取LONG RAW
值之前,使用TO_LOB
转换函数将其插入该表中。然后可以从临时表中选择BLOB
值。在相关问题 更多 >
编程相关推荐