2
我使用了LONG RAW列的遺留數據庫。存儲在這個列中的數據大約是〜100KB。 我試圖用cx_Oracle訪問這些二進制數據。使用cx_Oracle讀取LONG RAW
它正在工作,但我可以提取的最大尺寸是〜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
輸出是這樣的:
$ python oracle.py
[('GRIB', <type 'cx_Oracle.LONG_BINARY'>, -1, 0, 0, 0, 1)]
$ ls -lh /tmp/data
41186 2011-01-20 12:42 /tmp/pygrib
我知道LONG RAW
不容易對付。有些方法告訴用BLOB
列重新創建一個新表。但我買不起,因爲我已經有了這種格式的數據...
任何想法?
我好奇 - 爲什麼這個`cursor.setoutputsize(1200000000)`?我發現它在你的鏈接代碼中是不同的。 – Tshepang 2011-01-21 14:35:57