首页 > 解决方案 > Weblogic上的连接重置错误

问题描述

在我的公司中,我在 OEL 6.5 上使用 Weblogic 10.3.6.0 连接到另一个位置的 Oracle 数据库,当我尝试将 weblogic 连接到 db 时,我收到了该错误

    Error encountered:

java.sql.SQLRecoverableException: IO Error: Connection reset
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:467)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:154)
        at utils.dbping.main(dbping.java:204)
Caused by: java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:167)
        at oracle.net.ns.Packet.receive(Packet.java:300)
        at oracle.net.ns.DataPacket.receive(DataPacket.java:106)
        at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)
        at oracle.net.ns.NetInputStream.read(NetInputStream.java:260)
        at oracle.net.ns.NetInputStream.read(NetInputStream.java:185)
        at oracle.net.ns.NetInputStream.read(NetInputStream.java:102)
        at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
        at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
        at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
        at oracle.jdbc.driver.T4C8TTIdty.receive(T4C8TTIdty.java:669)
        at oracle.jdbc.driver.T4C8TTIdty.doRPC(T4C8TTIdty.java:578)
        at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1166)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:322)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:94)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:154)
        at utils.dbping.main(dbping.java:205)

所以我将 SID 更改为无效的 SID 并得到该错误

Error encountered:

java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:458)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:154)
        at utils.dbping.main(dbping.java:204)
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

        at oracle.net.ns.NSProtocol.connect(NSProtocol.java:395)
        at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1102)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:320)
        ... 7 more

从那我发现我与数据库的连接没问题

我在我公司的其他服务器和带有 JDK 8 的 Weblogic 12c 上尝试过,并再次出现“连接重置”错误

我在 Windows 操作系统上尝试我的本地 Weblogic 并获得成功所以......我能做什么

标签: oracleweblogic

解决方案


你能检查一些事情吗,比如:

  • 当您尝试测试
    数据源时,从控制台连接是否成功?
  • 是否有任何防火墙限制您的数据库和 Weblogic 服务器之间的连接。
  • 您用于生产的驱动程序是什么,它与您的 Windows PC 相同吗?
  • 这是每次都发生还是间歇性问题?

检查以下线程以获得更多提示: Oracle 11g 连接重置错误


推荐阅读