Я пытаюсь получить доступ к значению большого объекта, возвращенному процедурой с cx_Oracle
. LOB — это первое поле кортежа ('reg[0]'
).
Когда я делаю это:
regs = cursor.fetchall()
for reg in regs:
print reg[0]
Происходит следующая ошибка:
DatabaseError: ORA-22922: nonexistent LOB value
И когда я пытаюсь использовать метод read() (reg[0].read()
вместо print reg[0]
), но ошибка та же.
Как я могу получить доступ к значению LOB в этом случае?
fetchall
с большими объектами. Поможет ли вам написатьfor reg in cursor
вместо того, чтобы считывать все данные в список и затем распечатывать его? (Кстати, я не могу воспроизвести вашу ошибку; я могу только воспроизвести упоминание об ошибке в ссылке cx_Oracle выше. Я использую Oracle XE 11.2.0.2.0, Python 2.7.3 и cx_Oracle 5.1.2, если это поможет.) - person Luke Woodward   schedule 14.08.2013