ERRORCODE=-4499

ERRORCODE=-4499 表示應用程式伺服器拒絕建立連線。

問題及症狀

您嘗試使用第 4 類 JCC 驅動程式連接至資料庫,但失敗,並出現下列異常狀況:
java.sql.SQLException: [jcc][t4][2057][11264][3.53.95] The application server rejected establishment of the connection. 
An attempt was made to access a database, which was either not found or does not support transactions. ERRORCODE=-4499, SQLSTATE=08004 DSRA0010E: SQL State = 08004, Error Code = -4,499

基本上,連線失敗。

原因及解決方案

此錯誤的原因是使用 DCS DB 別名,或連線字串中資料庫的本端別名將嘗試連線。

解決方案以 IBM Data Server Driver for JDBC and SQLJ 第 4 類連線功能的 URL 格式開始:
"jdbc:db2://<server name>: <portnumber>/<database name>";
在使用的第 4 類 JDBC JCC 驅動程式連線字串中:
  • 如果連線至 Db2® 伺服器,則 <database name> 應該是資料庫伺服器中的 目標資料庫名稱 ,而不是用戶端中編目的本端別名。
  • 如果連線至 Db2 for z/OS® 伺服器,則 <database name> 是在安裝期間定義的 Db2 位置名稱。 Db2 位置名稱中的所有字元都必須是大寫字元。 對於 IBM Data Server Driver for JDBC and SQLJ 類型 4 連線功能, IBM Data Server Driver for JDBC and SQLJ 不會將資料庫值中的小寫字元轉換為大寫。
透過在伺服器上執行下列 SQL 陳述式,可以找到 location name :
SELECT CURRENT SERVER FROM SYSIBM.SYSDUMMY1;
您也可以使用下列指令,從用戶端上的 DCS 目錄中找到 目標資料庫名稱 :
db2 list dcs directory