Re: Problem reading CLOB data from query result

Christopher Jones <[email protected]> Tue, 15 Dec 2015 17:04:25 +1100
Newsgroups gmane.comp.python.db.cx-oracle
Message-ID <[email protected]>
What's magic about 200 in your environment?

What size LOBs? Do you really need to instantiate them all at once in records?

What version of cx_Oracle?

On 9/12/2015 9:10 am, Andrew Wheelwright wrote:
> I’m new to cx_Oracle and am in the process of creating a python script to pull about 4,000 records from an oracle database for my company.  The query
> involved uses xmlagg to create two CLOB fields.  I’m able to successfully fetch records one at a time and read the CLOB data for the first 200 records
> of the query result but when I try to fetch the 201^st record I get an Invalid Handle error from cx_Oracle the context for which is
> “LobVar_PreFetch(): free temporary LOB” (I don’t know whether that’s even useful information).
>
> My code uses the following logic:
>
> connection = cx_Oracle.connect('schema/password@server')
>
> cursor = connection.cursor()
>
> cursor.execute('my query')
>
> records = []
>
> result = cursor.fetchone()
>
> while result is not None:
>
>      record = {}
>
>      for index, field in enumerate(result): # convert the result tuple to a dictionary object
>
>          if field is not None and cursor.description[index][1] == cx_Oracle.CLOB:
>
>              field = field.read()  # get the CLOB value
>
>          record[cursor.description[index][0]] = field
>
>      records.append(record)
>
>      result = cursor.fetchone() # <---- Invalid handle error thrown here
>
> I suspect the problem I’m hitting is probably due to me going about handling large objects the wrong way so I appreciate any suggestions or
> recommendations on better ways to do read CLOB data.
>
> I’m running python 3.5 on 64 bit Windows 7
>
> Thank you for your help,
>
> Andrew Wheelwright
>
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> cx-oracle-users mailing list
> cx-oracle-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/cx-oracle-users
>

-- 
http://twitter.com/ghrd

------------------------------------------------------------------------------