我有這樣的代碼:如何讀取Python中的cx_Oracle.LOB數據?
dsn = cx_Oracle.makedsn(hostname, port, sid)
orcl = cx_Oracle.connect(username + '/' + password + '@' + dsn)
curs = orcl.cursor()
sql = "select TEMPLATE from my_table where id ='6'"
curs.execute(sql)
rows = curs.fetchall()
print rows
template = rows[0][0]
orcl.close()
print template.read()
當我做print rows
,我得到這個:
[(<cx_Oracle.LOB object at 0x0000000001D49990>,)]
然而,當我做print template.read()
,我得到這個錯誤:
cx_Oracle.DatabaseError: Invalid handle!
待辦事項我如何獲取並閱讀這些數據?謝謝。
任何想法,爲什麼這是這種情況? – 2012-09-26 00:26:28
我甚至不能重現錯誤,但這是很好的知道。謝謝!編輯:其實,我只是將它重現,它在我將'orcl.close()'移到'read()'之後後就起作用了。謝謝! – 2012-09-26 13:48:16
我做了一些更多的測試。這隻發生在LOB數據上。這真的很有趣。我可能會問另一個關於這個問題。 – 2012-09-26 13:58:20