ERRORCODE=-4499
ERRORCODE=-4499 significa que o servidor de aplicação rejeitou o estabelecimento da conexão.
Problema e sintoma
Você tenta se conectar a um banco de dados usando um driver JCC tipo 4 mas ele falha com a seguinte exceção:
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,499Essencialmente, a conexão falha.
Causa e solução
A causa deste erro está usando um alias do DCS DB ou um nome de alias local do banco de dados na string de conexão irá tentar a conexão.
A solução começa com o formato URL para a conectividade IBM Data Server Driver for JDBC and SQLJ tipo 4:
"jdbc:db2://<server name>: <portnumber>/<database name>";Na sequência de conexão do driver JCC do Tipo 4 JDBC utilizada:
- Se a conexão for com um servidor Db2® servidor, o <nome do banco de dados> deverá ser o nome do banco de dados de destino no servidor de banco de dados, não deverá ser o nome do alias local catalogado no cliente.
- Se a conexão for com um Db2 for z/OS servidor, <nome do banco de dados> é o Db2 nome do local definido durante a instalação. Todos os caracteres no nome do local Db2 devem ser caracteres maiús-maiúsculas. O IBM Data Server Driver for JDBC and SQLJ não converte caracteres minúsculos no valor do banco de dados em maiúsculas para a conectividade IBM Data Server Driver for JDBC and SQLJ tipo 4.
O nome do local pode ser encontrado executando a instrução SQL a seguir no servidor:
SELECT CURRENT SERVER FROM SYSIBM.SYSDUMMY1;O nome do banco de dados de destino também pode ser encontrado a partir do diretório DCS no cliente usando o comando:
db2 list dcs directory