Skip to Main Content

Java Database Connectivity (JDBC)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

ORA-17002 IO exception: Software caused connection abort

sperkmandlNov 24 2010 — edited Oct 15 2014
Hi all, I use JDBC with java 6. Environment is:

OracleOracle Database 11g Release 11.1.0.6.0 - 64bit Production
Oracle JDBC driver 11.1.0.7.0-Production

I created a simple table with a constraint, then I inserted one row:

CREATE TABLE Test (
name VARCHAR2(40 char),
UNIQUE (name)
);
INSERT into Test VALUES ('any');

Fine so far. Then - after connecting through JDBC - I repeated the above insert 16 times using conn.createStatement().execute().
I got all the times an expected error (ORA-00001) because of uniqueness violation,
but after inserting one more row I got:

ORA-17002 IO exception: Software caused connection abort: recv failed

At this point connection was closed. Similar effects can be achieved though other constraint violations.
Stack trace is:

java.sql.SQLRecoverableException: IO exception: Software caused connection abort: recv failed
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:521)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:958)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1770)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1739)
at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:299)

I couldn't find any solution after googling around.
Thanks for any suggestion.

Comments

Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Dec 24 2010
Added on Nov 24 2010
9 comments
10,131 views