Java 尝试连接到DB2服务器时出错

Java 尝试连接到DB2服务器时出错,java,db2,Java,Db2,我在尝试连接到外部数据库时遇到此错误 om.ibm.db2.jcc.b.DisconnectException: A communication error has been detected. Communication protocol being used: Reply.fill(). Communication API being used: InputStream.read(). Location where the error was detected: Connection res

我在尝试连接到外部数据库时遇到此错误

om.ibm.db2.jcc.b.DisconnectException: A communication error has been detected. Communication protocol being used: Reply.fill(). Communication API being used: InputStream.read(). Location where the error was detected: Connection reset. Communication function detecting the error: *. Protocol specific error codes(s) TCP/IP SOCKETS   DB2ConnectionCorrelator: null
        at com.ibm.db2.jcc.c.a.a(a.java:373)
        at com.ibm.db2.jcc.c.gb.b(gb.java:191)
        at com.ibm.db2.jcc.c.gb.c(gb.java:238)
        at com.ibm.db2.jcc.c.gb.c(gb.java:353)
        at com.ibm.db2.jcc.c.gb.v(gb.java:1362)
        at com.ibm.db2.jcc.c.hb.a(hb.java:43)
        at com.ibm.db2.jcc.c.b.e(b.java:1389)
        at com.ibm.db2.jcc.c.b.b(b.java:1264)
        at com.ibm.db2.jcc.c.b.s(b.java:1036)
        at com.ibm.db2.jcc.c.b.b(b.java:744)
        at com.ibm.db2.jcc.c.b.a(b.java:730)
        at com.ibm.db2.jcc.c.b.<init>(b.java:331)
        at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:165)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at com.interblocks.common.db.ConnectionFactory.getCon(ConnectionFactory.java:282)
        at com.interblocks.common.db.ConnectionFactory.getConnection(ConnectionFactory.java:203)
        at com.interblocks.common.db.ConnectionFactory.getDataBasePlatform(ConnectionFactory.java:1073)
        at com.interblocks.common.sequence.c.<clinit>(Const.java:60)
        at com.interblocks.common.sequence.Sequence.<init>(Sequence.java:207)
        at irecon.Servlet_ReconTxnMgmt.<init>(Servlet_ReconTxnMgmt.java:121)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:134)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
om.ibm.db2.jcc.b.DisconnectException:检测到通信错误。正在使用的通信协议:Reply.fill()。正在使用的通信API:InputStream.read()。检测到错误的位置:连接重置。检测错误的通信功能:*。特定于协议的错误代码TCP/IP套接字DB2ConnectionCorrelator:null
在com.ibm.db2.jcc.c.a.a(a.java:373)
位于com.ibm.db2.jcc.c.gb.b(gb.java:191)
位于com.ibm.db2.jcc.c.gb.c(gb.java:238)
位于com.ibm.db2.jcc.c.gb.c(gb.java:353)
位于com.ibm.db2.jcc.c.gb.v(gb.java:1362)
com.ibm.db2.jcc.c.hb.a(hb.java:43)
在com.ibm.db2.jcc.c.b.e(b.java:1389)
com.ibm.db2.jcc.c.b.b(b.java:1264)
位于com.ibm.db2.jcc.c.b.s(b.java:1036)
位于com.ibm.db2.jcc.c.b.b(b.java:744)
位于com.ibm.db2.jcc.c.b.a(b.java:730)
在com.ibm.db2.jcc.c.b.(b.java:331)
com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:165)
位于java.sql.DriverManager.getConnection(未知源)
位于java.sql.DriverManager.getConnection(未知源)
位于com.interblocks.common.db.ConnectionFactory.getCon(ConnectionFactory.java:282)
位于com.interblocks.common.db.ConnectionFactory.getConnection(ConnectionFactory.java:203)
位于com.interblocks.common.db.ConnectionFactory.getDataBasePlatform(ConnectionFactory.java:1073)
在com.interblocks.common.sequence.c.(Const.java:60)
位于com.interblocks.common.sequence.sequence.(sequence.java:207)
在irecon.Servlet_ReconTxnMgmt.(Servlet_ReconTxnMgmt.java:121)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于java.lang.Class.newInstance(未知源)
位于org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:134)
位于org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136)
位于org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
位于org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
位于java.util.concurrent.FutureTask.run(未知源)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)

我不知道它是一个代码错误还是一个网络问题或者DB错误,我想知道为什么这个异常被触发了。谢谢

Ping用于检查服务器是否处于活动状态。Telnet,通常允许使用Telnet服务,但它可用于检查远程连接的端口(防火墙)是否打开

您应该检查客户端的连接

telnet db2serverName db2Port
比如说

telnet 192.168.0.1 50000

检查DB2端口是否为客户端打开后,应建立连接或接收不同的错误消息。

Ping用于检查服务器是否处于活动状态。Telnet,通常允许使用Telnet服务,但它可用于检查远程连接的端口(防火墙)是否打开

您应该检查客户端的连接

telnet db2serverName db2Port
比如说

telnet 192.168.0.1 50000

检查DB2端口是否为客户端打开后,应建立连接或接收不同的错误消息。

Ping用于检查服务器是否处于活动状态。Telnet,通常允许使用Telnet服务,但它可用于检查远程连接的端口(防火墙)是否打开

您应该检查客户端的连接

telnet db2serverName db2Port
比如说

telnet 192.168.0.1 50000

检查DB2端口是否为客户端打开后,应建立连接或接收不同的错误消息。

Ping用于检查服务器是否处于活动状态。Telnet,通常允许使用Telnet服务,但它可用于检查远程连接的端口(防火墙)是否打开

您应该检查客户端的连接

telnet db2serverName db2Port
比如说

telnet 192.168.0.1 50000

检查DB2端口是否为客户端打开后,应建立连接或接收不同的错误消息。

我将从网络问题开始。Q:您能“ping”DB2服务器吗?问:Java客户机和DB2服务器之间是否有防火墙。等等。等等。是的,ping是可以的…我实际上没有遇到任何超时请求…端口呢?你有没有做过像“telnet 192.168.0.1 50000”这样的“telnet服务器instancePort”我不熟悉telnet服务器。。我正在连接一个inet网络,我想先看看网络问题。Q:您能“ping”DB2服务器吗?问:Java客户机和DB2服务器之间是否有防火墙。等等。等等。是的,ping是可以的…我实际上没有遇到任何超时请求…端口呢?你有没有做过像“telnet 192.168.0.1 50000”这样的“telnet服务器instancePort”我不熟悉telnet服务器。。我正在连接一个inet网络,我想先看看网络问题。Q:您能“ping”DB2服务器吗?问:Java客户机和DB2服务器之间是否有防火墙。等等。等等。是的,ping是可以的…我实际上没有遇到任何超时请求…端口呢?你打电话了吗