无法在eclipse中建立数据库连接

时间:2015-06-19 09:10:22

标签: eclipse jdbc db2 datasource db2-luw

我想在eclipse中创建一个新的数据库连接(DB2)以便使用JPA。在JPA透视图中,在Data Source Explorer视图中,当我尝试创建新的数据库连接时,在尝试ping服务器时收到以下日志。

org.eclipse.datatools.connectivity.exceptions.DBNotStartException: No start database command was issued. ErrorCode = -4499, SQLState = 08001.
    at org.eclipse.datatools.enablement.ibm.db2.internal.luw.JDBCLUWJDBCConnection.getConnectException(JDBCLUWJDBCConnection.java:74)
    at org.eclipse.datatools.connectivity.ui.PingJob.getTestConnectionException(PingJob.java:81)
    at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:63)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: com.ibm.db2.jcc.am.ro: [jcc][t4][2043][11550][4.8.87] Exception java.net.ConnectException: Error opening socket to server example.example.com/51.37.93.117 on port 50,000 with message: Connection timed out: connect. ERRORCODE=-4499, SQLSTATE=08001
    at com.ibm.db2.jcc.am.gd.a(gd.java:319)
    at com.ibm.db2.jcc.am.gd.a(gd.java:337)
    at com.ibm.db2.jcc.t4.zb.a(zb.java:378)
    at com.ibm.db2.jcc.t4.zb.<init>(zb.java:76)
    at com.ibm.db2.jcc.t4.a.y(a.java:306)
    at com.ibm.db2.jcc.t4.b.a(b.java:1796)
    at com.ibm.db2.jcc.am.lb.a(lb.java:570)
    at com.ibm.db2.jcc.am.lb.<init>(lb.java:522)
    at com.ibm.db2.jcc.t4.b.<init>(b.java:306)
    at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:214)
    at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:456)
    at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.createConnection(JDBCConnection.java:328)
    at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:105)
    at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54)
    at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:96)
    at org.eclipse.datatools.enablement.ibm.db2.internal.luw.JDBCLUWConnectionFactory.createConnection(JDBCLUWConnectionFactory.java:26)
    at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83)
    at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359)
    at org.eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.java:76)
    at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:59)
    ... 1 more
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at com.ibm.db2.jcc.t4.ab.run(ab.java:34)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.ibm.db2.jcc.t4.zb.a(zb.java:372)
    ... 18 more

我使用DbVisualizer成功连接到数据库。

1 个答案:

答案 0 :(得分:0)

在打开服务器{machine}的套接字时出错:

  1.   

    端口60,000,显示消息:拒绝连接。 ERRORCODE = -4499,SQLSTATE = 08001

  2.   

    端口50,000,带有消息:连接超时:连接。 ERRORCODE = -4499,SQLSTATE = 08001

  3. 在第一个中,连接拒绝可以是50,000(端口)或60,000(TCP / IP)。

    在您的情况下,问题可能是因为:

    1. 使用该端口的另一个实例(50,000表示不可用db2)
    2. 或者端口有问题(防火墙堵塞,端口号错误,......)
    3. 检查您使用import com.ibm.db2.jcc.*;的库并设置正确的端口setPortNumber(端口)。在命令行中使用Telnet 51.37.93.117 50000检查端口的可用性,如果是空白屏幕,则端口打开,否则端口可能关闭/忙碌。

      使用此link here可以参考Data Source Explorer中有关如何停止,设置,更新和启动命令以重新连接或创建数据库的db2配置的步骤。< / p>