Wednesday, 24 August 2016

DSRA8040I and SQL 1060N between IBM BPM and IBM DB2

We saw this yesterday: -

Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLNonTransientException: DB2 SQL Error: SQLCODE=-1060, SQLSTATE=08004, SQLERRMC=DB2USER1, DRIVER=4.19.49 DSRA0010E: SQL State = 08004, Error Code = -1,060

Caused by: java.sql.SQLNonTransientException: DB2 SQL Error: SQLCODE=-1060, SQLSTATE=08004, SQLERRMC=DB2USER1, DRIVER=4.19.49 DSRA0010E: SQL State = 08004, Error Code = -1,060

[23/08/16 15:00:04:760 BST] 000000fc DSConfigurati W   DSRA8201W: DataSource Configuration: DSRA8040I: Failed to connect to the DataSource jdbc/WPSDB.  Encountered java.sql.SQLNonTransientException: DB2USER1 DSRA0010E: SQL State = 08004, Error Code = -1,060.

java.sql.SQLNonTransientException: DB2USER1 DSRA0010E: SQL State = 08004, Error Code = -1,060

in the SystemOut.log of our WAS Deployment Manager, which is hosting an IBM BPM Advanced 8.5.5 Deployment Environment.

This error occurred when we hit the "Test Connection" button against the various JDBC data sources used by BPM.

Specifically, it was from the two cell-scoped data sources - jdbc/WPSDB and jdbc/mediation/messageLog.

It turned out that the target DB2 server had a so-called Trusted Context that was prohibiting access from the WAS Deployment Manager, only allowing access from the actual WAS nodes.

Trusted Context is used to provide an additional level of access control to DB2 servers, restricting access to all but a specific set of hosts.

Typically, when one hits "Test Connection" button, most data sources, which are typically node/cluster/server-scoped, require connections ONLY from the nodes.

Hence the Trusted Context rules were correct ….

… for all but the two cell-scoped data sources.

Once the DBA added the Deployment Manager into the Trusted Context, we were good to go.

For more intel on Trusted Context, please see: -

No comments: