Connection reset by peer
Hi
I have j2re1.4.2_08 and Oracle 9.2
When I tried to update database with huge data I got following exception:
java.sql.SQLException: Io exception: Connection reset by peer: socket write error
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2061)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at edu.bnmit.BookDBUpdateThread.run(BookDBUpdateThread.java:80)
at edu.bnmit.BookDBUpdateThread.update(BookDBUpdateThread.java:46)
at java.lang.Thread.run(null:-1)
method used to update database is:
void update(Books b[]){
Connection dbConnection;
PreparedStatement stmt;
try{
dbConnection = DriverManager.getConnection(
"...",
"...",
"...");
dbConnection.setAutoCommit(false);
String sqlStmt = "UPDATE Books SET " +
"bookName=?, bookAuthor=?" +
"WHERE bookId=?";
stmt = dbConnection.prepareStatement(sqlStmt);
for(int i = 0; i < b.length; i++){
stmt.setString(1,b.bookName);
stmt.setString(2,b[i].bookAuthor);
stmt.setInt(3,b[i].bookId);
stmt.executeUpdate();
}
dbConnection.commit();
stmt.close();
dbConnection.close();
}catch(SQLException e){
System.err.println("Error While Updating Table");
String s = e.toString();
StackTraceElement trace[] = e.getStackTrace();
for(int j = 0; j < trace.length; j++){
s += "\n\tat "
+ trace[j].getClassName() + trace[j].getMethodName()
+ "(" + trace[j].getFileName()
+ ": " + trace[j].getLineNumber() + ")";
}
System.err.println(s);
}
}
Orcale server is distently placed. I get this exception when I send 10,000+ records to update.
Can anyone help me.
Thanks