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