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® 服务器, <数据库名称> 应为数据库服务器中的目标数据库名称 ,而不应是客户端编目中的本地别名。
- 如果连接的是 Db2 for z/OS 数据库名称 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