Environment: Oracle XE Beta 2, Sun JDK 1.5.0_06 on Win XP with default installation options.
I am getting "Got minus one from a read call" error sporadically (about half of the time) when opening thin JDBC connections (locally). When trying OCI, I am getting "ORA-12537: TNS:connection closed" also sporadically, but more often than with thin driver.
This looks like a similar issue:
1111882 , but there is no resolution presented, and also it mentions shared server configuration, while default XE installation is in dedicated mode.
A quick test:
DriverManager.registerDriver(new OracleDriver());
for (int i = 0; i < 100; i++) {
Connection c = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "system", "system");
Statement s = c.createStatement();
ResultSet rs = s.executeQuery("select dummy from dual");
rs.next();
System.out.println(i + ": " + rs.getString(1));
s.close();
c.close();
Thread.sleep(1000);
}
Outputs:
0: X
1: X
Exception in thread "main" java.sql.SQLException: Io exception: Got minus one from a read call
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:190)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:363)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:401)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:839)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
...
Any insight?
Thanks,
Leon