java.sql.SQLRecoverableException:没有更多数据可从从 NoSQL 读取的套接字中读取

java.sql.SQLRecoverableException: No more data to read from socket reading from NoSQL

我正在尝试从 NoSQL 读取数据并将数据插入到 oracle 中。如果我截断 oracle table 并尝试插入,它工作正常。如果数据已经存在,或者如果我在 read/write 操作中间停止并从头开始重试,我会收到以下错误消息。

xx-xx-xx xx:xx:xx SEVERE AnalyticsMigrate main Exceptionjava.sql.SQLRecoverableException: No more data to read from socket
java.sql.SQLRecoverableException: No more data to read from socket
    at oracle.jdbc.driver.T4CMAREngineNIO.prepareForReading(T4CMAREngineNIO.java:119)
    at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)

JDBC 12.2 及更高版本在阻塞模式下使用 Java NIO 调用 - 当应用程序完成中断时。以前的 JDBC 版本使用不受中断影响的 stream-based I/O API 调用。

请尝试使用

System.setProperty("oracle.jdbc.javaNetNio", "假");

在连接并重试之前