From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | tmp(at)nitwit(dot)de |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: cursor "jdbc_curs_1" does not exist |
Date: | 2004-06-15 16:06:26 |
Message-ID: | Pine.BSO.4.56.0406151102540.13010@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Tue, 15 Jun 2004 tmp(at)nitwit(dot)de wrote:
> Hi!
>
> org.postgresql.util.PSQLException: ERROR: cursor "jdbc_curs_1" does not exist
>
> Can somebody explain this exception? What I do is pretty simple: I read text
> from one table, gzip it and insert it into another table. But it seems that
> the exception is thrown at ResulSet.next() but I'm not sure. Here's the code
> anyway:
The problem here is that you commit every 100 rows. A commit closes any
open cursors, so the next time you try to call next the cursor isn't there
any more.
Kris Jurka
>
>
> final PreparedStatement select = f4t.prepareStatement( "SELECT urlid, html
> FROM html" );
> final PreparedStatement insert = f4t.prepareStatement( "INSERT INTO
> legacy.zhtml (id, zhtml) VALUES (?, ?)" );
>
> f4t.setAutoCommit( false );
>
> select.setFetchSize( FETCH_SIZE );
>
> int i = 0;
> for( ResultSet row = select.executeQuery(); row.next(); )
> {
> final String id = row.getString( "urlid" );
> final String html = row.getString( "html" );
>
> final ByteArrayOutputStream bos = new ByteArrayOutputStream();
> final DataOutputStream dos = new DataOutputStream( bos );
>
> WritableUtils.writeCompressedString( dos, html );
>
> insert.setString( 1, id );
> insert.setBytes( 2, bos.toByteArray() );
> insert.execute();
>
> System.out.print( '.' );
>
> if( ++i % 100 == 0 )
> {
> System.out.println();
> f4t.commit();
> }
> }
>
> f4t.commit();
> f4t.setAutoCommit( true );
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>
From | Date | Subject | |
---|---|---|---|
Next Message | Jie Liang | 2004-06-15 16:44:03 | Re: [SQL] Prepare Statement |
Previous Message | tmp | 2004-06-15 15:36:26 | cursor "jdbc_curs_1" does not exist |