2013-06-13 111 views
0

我正嘗試連接到Java中的db2數據庫。下面的驅動程序和連接字符串和驅動程序的細節我給使用JDBC在java中連接到DB2時出現異常

Class.forName("COM.ibm.db2.jdbc.net.DB2Driver"); 
String url="jdbc:db2://hostname:portnumber/databasename"; 
sourceConnection=DriverManager.getConnection(url,"username","password"); 

但我得到下面的異常

"COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0615E Error receiving from socket, server is not responding. SQLSTATE=08S01" 

我也試圖改變連接字符串 字符串URL =「的jdbc: DB2:主機名:端口號/數據庫名稱「;

它畢竟是導致上述嘗試獲取連接相同的異常。

,我已經嘗試了以下選項也使用JDBC驅動程序的應用程序

Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");  
DB2DataSource db2ds = new DB2DataSource(); 
db2ds.setServerName("hostname"); 
db2ds.setPortNumber(portnumber); 
db2ds.setDatabaseName("databasename"); 
db2ds.setUser("username"); 
db2ds.setPassword("password"); 
sourceConnection=db2ds.getConnection(); 

因爲我用的罐子「db2java.jar」

上述兩個連接,我已經使用JCC驅動程序的嘗試:對於此連接我已經爲db2jcc_license_cu.jar加入下面罐 1)的db2jcc.jar 2)

Class.forName("com.ibm.db2.jcc.DB2Driver"); 
String url="jdbc:db2://hostname:portnumber/databasename"; 
sourceConnection=DriverManager.getConnection(url,"username","password"); 

這一次,我身邊我得到下面的錯誤,

"com.ibm.db2.jcc.am.go: [jcc][t4][201][11237][3.57.82] Connection authorization failure occurred. 
Reason: Security mechanism not supported. ERRORCODE=-4214, SQLSTATE=28000" 

我嘗試使用「任務爲DB2」工具連接到同一個DB2源和連接成功。

我失去了在代碼中的東西,是它與DB2驅動程序或連接字符串有問題嗎?

是否有人可以指導我。

在此先感謝。

回答

0

原因:

如果其中的InfoSphere的Optim Performance Manager是運行中有設置爲DATA_ENCRYPT認證配置參數的DB2®實例,您無法登錄到Web控制檯。

解決的問題:

請執行下列操作步驟:

  1. 在其中的Optim Performance Manager是運行DB2實例,通過發出以下認證配置參數設置爲SERVER命令:

    db2 update dbm cfg using authentication server

  2. 重新啓動DB2實例和InfoSphere Optim Performance Manager。

欲瞭解更多詳情,請訪問here

0

你的前兩次嘗試不應該工作。您使用的是JCC驅動程序的URL格式,因此對於「淨」或「應用」驅動程序無效,無論如何都不適用。

使用JCC驅動程序(com.ibm.db2.jcc.DB2Driver)和「jdbc:db2://主機名:端口號/數據庫名」的URL格式,並參見this technote,以獲得「不支持安全機制「問題。總之,您需要使用受支持的JDK。