Exception problem after about 20000 results

From: Jochen Schäfer <jsprivat_at_web.de>
Date: Sat, 21 Jul 2001 21:16:29 GMT
Message-ID: <67e3f590.0106260128.378a377f_at_posting.google.com>


Hi,

I have some problems using an Oracle 8.1.7 database with my Java application,
using the thin drivers (for 8.17, classes12.zip) from Oracle.

I have 2 Select-Statements. The Select-Statements are split into 10 lines and the Select-strings are concatenated with the + operator.

Like this:

sqlSelect = "Select WE_Role,WE_Length,....." +

            "MA_Name,MA_Address,.....      " +

"from Employee,..... " +
"where MA_Name = ....."

The Select-Statements are very long. The first has about 1400 Characters and the second has about 700 Characters.

Here's a stack trace. Can anyone explain why this happens and what the remedy is? I'm using Oracle 8.1.7 and JDBC 2.0.

After sometimes about 20000 results I get a NullPointerException, which looks like this:

java.lang.NullPointerException

	void oracle.net.ns.NetOutputStream.write(int)
	void oracle.jdbc.ttc7.MAREngine.marshalDALC(byte[])
	void oracle.jdbc.ttc7.v8TTIoac.marshal()
	void oracle.jdbc.ttc7.TTCColumn.marshalType()
	void oracle.jdbc.ttc7.TTCDataSet.marshalTypes()
	void oracle.jdbc.ttc7.TTC7Protocol.doOall7(byte, byte, int, byte[],
oracle.jdbc.dbaccess.DBType[], oracle.jdbc.dbaccess.DBData[], int,
oracle.jdbc.dbaccess.DBType[], oracle.jdbc.dbaccess.DBData[], int)
	int oracle.jdbc.ttc7.TTC7Protocol.fetch(oracle.jdbc.dbaccess.DBStatement,
oracle.jdbc.dbaccess.DBDataSet, int)
	void oracle.jdbc.driver.OracleStatement.doExecuteQuery()
	void oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout()
	java.sql.ResultSet oracle.jdbc.driver.OracleStatement.executeQuery(java.lang.String)
	java.sql.ResultSet Transfer.OracleDBZugriff.abfragenMeterpreis(java.lang.String)
	void Transfer.DatentransferGUI.start()
	void Transfer.DatentransferGUI.main(java.lang.String[])
java.lang.ExceptionInInitializerError:
java.lang.NullPointerException
	boolean oracle.jdbc.driver.OracleResultSetImpl.next()
	void Transfer.DatentransferGUI.start()
	void Transfer.DatentransferGUI.main(java.lang.String[])


But sometimes the exception also occurs already after 1000 records.

Thanks for your help

Jochen Received on Sat Jul 21 2001 - 23:16:29 CEST

Original text of this message