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 数据库别名或数据库的本地别名。
以 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 目录中找到 target database name。
db2 list dcs directory