oracle - 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 并获得成功所以......我能做什么
解决方案
你能检查一些事情吗,比如:
- 当您尝试测试
数据源时,从控制台连接是否成功? - 是否有任何防火墙限制您的数据库和 Weblogic 服务器之间的连接。
- 您用于生产的驱动程序是什么,它与您的 Windows PC 相同吗?
- 这是每次都发生还是间歇性问题?
检查以下线程以获得更多提示: Oracle 11g 连接重置错误
推荐阅读
- android - 你可以在没有 App Store Id 的情况下使用 firebase 动态链接吗
- flutter - 在 VSCode 中启用颤振检查器快捷方式以及其他调试快捷方式
- reactjs - 如何将 React 路由器与中继一起使用?
- javascript - 如何将 USSD 代码 API 转换为普通的 RESTful API?
- bash - 使用bash获取for循环中的两个变量形成两个不同的列表
- postgresql - 如何使用sqlx将变量传递给do块?
- mysql - Sequelize - 如何在迁移脚本中处理动态数据
- javascript - Next.js 500 内部服务器错误在 404 页面内调用 useEffect Hook 后立即出现
- api - 需要一个应该提供服务器监控信息的 Rest API?
- git - 如何从 Git for Windows 客户端 git 推送到在 ubuntu 上运行的 git-daemon