Java.sql.SQLException:Overflow issue
Hi, My Oracle db is 8.1.6.3.0. And the developers are using jdbc thin driver to connect to database from application server. JDK version is 1.4.
The column type is number(12). It is a primary key. The value for this column is a sequence. After this sequence.nextval is inserted into table, we try to fetch this value from application side.
The code is
conn1 = getConnection();
conn1.setAutoCommit ( false );
dbStmt = conn1.prepareCall( "BEGIN mypna.add_user(?, ?, ?, ?, ?, ?, ?); END;" );
dbStmt.setString( 1, login.getLoginName().trim() );
dbStmt.setString( 2, login.getPassword().trim() );
dbStmt.setString( 3, strPasswordQuestion.trim() );
dbStmt.setString( 4, strPaswordAnswer.trim() );
dbStmt.setInt( 5, nUserTypeInd );
dbStmt.setString(6, strEmail.trim() );
dbStmt.registerOutParameter( 7, java.sql.Types.NUMERIC );
dbStmt.execute();
login.setUserId( dbStmt.getLong(7) );
#########################################################
Error messages:
java.sql.SQLException: Overflow Exception
at oracle.sql.NUMBER.toLong(NUMBER.java:319)
at oracle.sql.NUMBER.longValue(NUMBER.java:1811)
at oracle.jdbc.dbaccess.DBConversion.NumberBytesToLong(DBConversion.java:1817)
at oracle.jdbc.driver.OracleStatement.getLongValue(OracleStatement.java:3027)
at oracle.jdbc.driver.OracleCallableStatement.getLong(OracleCallableStatement.java:505)
at org.apache.commons.dbcp.DelegatingCallableStatement.getLong(DelegatingCallableStatement.java:116)
at com.televigation.db.user.UserManagerImp.addUser(UserManagerImp.java:907)
at com.televigation.db.billing.BillingManager.addUser(BillingManager.java:129)
at com.televigation.db.billing.BillingManager.addUser(BillingManager.java:103)
Can someone help?
Thanks
Stacy