On Mar 3, 5:12 pm, "Gabriel Genellina" <gagsl-...@yahoo.com.ar> wrote: > En Tue, 03 Mar 2009 13:33:19 -0200, Loredana <loredana.p...@gmail.com> > escribió: > > > > > > > On Mar 3, 1:01 pm, Loredana <loredana.p...@gmail.com> wrote: > >> Hi, > > >> I need to read CLOB field type (it is long text) > > >> if I use this code: > > >> curs.execute(sqlstr) > >> rows['name_of_columns'] = name_of_columns > >> rows['data'] = curs.fetchall() > > >> it returns me this values: > > >> test = {'name_of_columns': ['FILENAME', 'CRONTIME', 'SHORT_TAIL', > >> 'LONG_TAIL'], 'data': [('dd','asdds','adadsa',<cx_Oracle.LOB object at > >> 0x2a955bc230>')]} > > >> any ideas? > > >> Thanks > > >> Lory > > > Hi all, > > I success to read one row with the following code: > > > curs.execute(sqlstr) > > name_of_columns = [] > > for fieldDesc in curs.description: > > name_of_columns.append(fieldDesc[0]) > > for rows_ in curs.fetchone(): > > try: > > print rows_.read() > > except: > > print "except. ",rows_ > > > but if I try with fetchmany() it doesn't work > > any ideas? > > cx_Oracle implements DBAPI 2.0, then you should follow the general > guidelines in the specification:http://www.python.org/dev/peps/pep-0249/ > > LOBs are an extension to DBAPI -- see > http://cx-oracle.sourceforge.net/html/lob.htmland carefully read the > second note: > > """Note: Internally, Oracle uses LOB locators which are allocated based on > the cursor array size. Thus, it is important that the data in the LOB > object be manipulated before another internal fetch takes place. The > safest way to do this is to use the cursor as an iterator. In particular, > do not use the fetchall() method. The exception “LOB variable no longer > valid after subsequent fetch” will be raised if an attempt to access a LOB > variable after a subsequent fetch is detected.""" > > -- > Gabriel Genellina- Hide quoted text - > > - Show quoted text -
ok... I try this code and it works: curs.execute(sqlstr) for rows in curs: for col in rows: try: print col.read() except: print col onother question? which is the best wey (fastest way) to discern LOB from other type? thanks Loredana -- http://mail.python.org/mailman/listinfo/python-list