java.sql.SQLException: 无法从套接字读取更多的数据
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:963)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:369)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:527)
at oracle.sql.ArrayDescriptor.toLengthFromLocator(ArrayDescriptor.java:1453)
at oracle.sql.ArrayDescriptor.toNumericArrayFromLocator(ArrayDescriptor.java:1713)
at oracle.sql.ArrayDescriptor.toNumericArray(ArrayDescriptor.java:1894)
at oracle.sql.ARRAY.getIntArray(ARRAY.java:1070)
at com.vividsolutions.jts.io.oracle.OraReader.asIntArray(Unknown Source)
at com.vividsolutions.jts.io.oracle.OraReader.read(Unknown Source)
at com.test.db.jdbc.RoadEdgeReader.getGeometryFromStrut(RoadEdgeReader.java:32)
at com.test.db.jdbc.RoadEdgeReader.read(RoadEdgeReader.java:61)
at com.test.Main.main(Main.java:42)
java.sql.SQLException: 无法从套接字读取更多的数据
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:963)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
at oracle.jdbc.ttc7.Oopen.receive(Oopen.java:105)
at oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java:586)
at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:385)
at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:413)
at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:119)
at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:92)
at oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleConnection.java:950)
at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:802)
at oracle.sql.ArrayDescriptor.toLengthFromLocator(ArrayDescriptor.java:1449)
at oracle.sql.ArrayDescriptor.toNumericArrayFromLocator(ArrayDescriptor.java:1713)
at oracle.sql.ArrayDescriptor.toNumericArray(ArrayDescriptor.java:1894)
at oracle.sql.ARRAY.getIntArray(ARRAY.java:1070)
at com.vividsolutions.jts.io.oracle.OraReader.asIntArray(Unknown Source)
at com.vividsolutions.jts.io.oracle.OraReader.read(Unknown Source)
at com.test.db.jdbc.RoadEdgeReader.getGeometryFromStrut(RoadEdgeReader.java:32)
at com.test.db.jdbc.RoadEdgeReader.read(RoadEdgeReader.java:61)
at com.test.Main.main(Main.java:42)
java.sql.SQLException: 无法从套接字读取更多的数据
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:963)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
at oracle.jdbc.ttc7.Oopen.receive(Oopen.java:105)
at oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java:586)
at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:385)
at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:413)
at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:119)
at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:92)
at oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleConnection.java:950)
at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:802)
at oracle.sql.ArrayDescriptor.toLengthFromLocator(ArrayDescriptor.java:1449)
at oracle.sql.ArrayDescriptor.toNumericArrayFromLocator(ArrayDescriptor.java:1713)
at oracle.sql.ArrayDescriptor.toNumericArray(ArrayDescriptor.java:1894)
at oracle.sql.ARRAY.getIntArray(ARRAY.java:1070)
at com.vividsolutions.jts.io.oracle.OraReader.asIntArray(Unknown Source)
at com.vividsolutions.jts.io.oracle.OraReader.read(Unknown Source)
at com.test.db.jdbc.RoadEdgeReader.getGeometryFromStrut(RoadEdgeReader.java:32)
at com.test.db.jdbc.RoadEdgeReader.read(RoadEdgeReader.java:61)
at com.test.Main.main(Main.java:42)
java.sql.SQLException: Io 异常: Software caused connection abort: 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.close(OracleStatement.java:648)
at com.test.db.jdbc.JdbcUtils.free(JdbcUtils.java:45)
at com.test.db.jdbc.RoadEdgeReader.read(RoadEdgeReader.java:70)
at com.test.Main.main(Main.java:42)
java.sql.SQLException: Io 异常: Software caused connection abort: 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.close(OracleStatement.java:648)
at oracle.jdbc.driver.OraclePreparedStatement.privateClose(OraclePreparedStatement.java:485)
at oracle.jdbc.driver.OraclePreparedStatement.close(OraclePreparedStatement.java:393)
at oracle.jdbc.driver.OracleConnection.close_statements(OracleConnection.java:2333)
at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1412)
at com.test.db.jdbc.JdbcUtils.free(JdbcUtils.java:51)
at com.test.db.jdbc.RoadEdgeReader.read(RoadEdgeReader.java:70)
at com.test.Main.main(Main.java:42)原来升级驱动包就可以了。
本文记录了一个关于使用Oracle JDBC驱动时遇到的多个SQLException错误,并详细展示了堆栈跟踪信息。通过分析发现,这些问题主要与网络连接异常及驱动版本不匹配有关。最终解决方案为升级Oracle的JDBC驱动包。
1万+

被折叠的 条评论
为什么被折叠?



