簡體   English   中英

無法在eclipse中建立數據庫連接

[英]Not able to establish database connection in eclipse

為了使用JPA,我想在Eclipse中建立一個新的數據庫連接(DB2)。 從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成功連接到數據庫。

在打開服務器{machine}的套接字時出錯:

  1. 端口60,000並顯示消息: 連接被拒絕 錯誤代碼= -4499,SQLSTATE = 08001

  2. 消息的端口50,000: 連接超時 :連接。 錯誤代碼= -4499,SQLSTATE = 08001

在第一個中,連接拒絕可以是50,000(端口)或60,000(TCP / IP)。

在您的情況下,可能是由於以下原因引起的:

  1. 還有一個使用該端口的實例(50,000表示db2不可用)
  2. 或端口有問題(防火牆阻塞,錯誤的端口號,..)

檢查您正在使用import com.ibm.db2.jcc.*;的庫import com.ibm.db2.jcc.*; 並設置正確的端口setPortNumber(port)。 在命令行中使用Telnet 51.37.93.117 50000檢查端口的可用性,如果黑屏則說明該端口處於打開狀態,否則該端口可能處於忙/閑狀態。

在此處使用此鏈接來引用您可以在Data Source Explorer針對db2配置執行的步驟,該步驟涉及如何停止,設置,更新和啟動命令以重新連接到數據庫或創建數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM