tôi có mã này:Làm cách nào để đọc dữ liệu cx_Oracle.LOB bằng Python?
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()
Khi tôi làm print rows
, tôi có được điều này:
[(<cx_Oracle.LOB object at 0x0000000001D49990>,)]
Tuy nhiên, khi tôi làm print template.read()
, tôi nhận được lỗi này:
cx_Oracle.DatabaseError: Invalid handle!
Đỗ làm cách nào để nhận và đọc dữ liệu này? Cảm ơn.
bất kỳ ý tưởng tại sao đây là trường hợp? –
Tôi thậm chí không thể tạo lại lỗi nữa, nhưng điều này là tốt để biết. Cảm ơn! Edit: Trên thực tế, tôi chỉ sao chép nó và nó làm việc sau khi tôi di chuyển 'orcl.close()' đến sau 'read()'. Cảm ơn! –
Tôi đã làm một số thử nghiệm khác. Điều này chỉ xảy ra trên dữ liệu LOB. Điều này thực sự thú vị. Tôi có thể hỏi một câu hỏi khác về điều này. –