如何解决当我尝试连接到 Amazon RDS for Oracle 实例时出现的“javasqlSQLException”错误?

1 分钟阅读
0

当我尝试连接到 Amazon Relational Database Service (Amazon RDS) for Oracle 数据库 实例时,收到错误“javasqlSQLException: No more data to read from socket”(javasqlSQLException:无法从套接字读取更多数据)。

解决方法

您之所以收到错误 javasqlSQLException: No more data to read from socket(javasqlSQLException:无法从套接字读取更多数据),是因为 Oracle 服务器和客户端 JDBC 驱动程序之间存在连接问题。

以下是这些连接失败的最常见原因和解决步骤:

由于网络中断,连接突然停止

检查实例的 alert.log 文件中是否存在应用程序端连接超时后发布的 TNS 超时错误。

有关 RDS 实例警报日志访问的详细信息,请参阅 Amazon RDS for Oracle 数据库日志文件

由于服务器端出现 Oracle 错误,连接已停止

检查 alert.log 文件中是否存在 ORA-0600ORA-07445 错误。收集特定 Oracle 错误的跟踪转储。检查这些错误是否有 Oracle 支持部门提供的已知修复程序。

客户端与服务器的连接未激活

将参数 SQLNET.EXPIRE_TIME 设置为指定间隔,以发送探测器来验证客户端与服务器的连接是否处于活动状态。

有关详细信息,请参阅 Oracle 网站上的 SQLNET.EXPIRE_TIME

当 JDBC 客户端尝试使用与 Oracle 服务器的现有连接时,RDS for Oracle 实例不可用或已重启

检索 RDS 实例的事件。然后,检查从 JDBC 客户端建立连接时实例是否已重启或停止。

用于连接到 RDS for Oracle 实例的 JDBC 驱动程序不兼容

确认 JDBC 驱动程序的版本与数据库实例兼容。有关兼容的 JDBC 驱动程序列表,请参阅 Oracle 网站上的 Oracle Fusion Middleware 支持的系统配置。如果 JDBC 驱动程序不兼容,请先在源代码中下载最新的 JAR 文件。然后,在编译用于创建数据库连接的类时,将此文件包含在类路径中。

有关详细信息,请参阅下载 JDBC 驱动程序

客户端的内存组件导致超时

检查 Oracle 数据集成器在客户端是否有导致意外超时的内存组件。确保在客户端为这些组件设置正确的值。

相关信息

Oracle 网站上的来自 ODI 映射或集成接口的“无法从套接字读取更多数据”错误

Oracle 网站上的适用于 Java 计算机和 JDBC 驱动程序与 ODI 一起使用的兼容性矩阵

Oracle 网站上的如何在 ODI 中定义 Java 选项(例如内存堆的限制、非 Java 库的位置等)

AWS 官方
AWS 官方已更新 6 个月前