Database access error in Streams log

In an installation that uses DB2 for system tables, after a workspace is deployed, you cannot start the deployment configuration. Some Streams jobs are unhealthy.

An error such as the following appears in the Streams log:


/home/streamsadmin/OpDetection/toolkits/unica_db_access/impl/include/
        UnicaDatabaseAccess.h: At global scope:
/home/streamsadmin/OpDetection/toolkits/unica_db_access/impl/include/
        UnicaDatabaseAccess.
/home/streamsadmin/OpDetection/toolkits/unica_db_access/impl/include/
        UnicaDatabaseAccess.h:44: error: ‘SQLHENV’ does not name a type
/home/streamsadmin/OpDetection/toolkits/unica_db_access/impl/include/
        UnicaDatabaseAccess.h:45: error: ‘SQLHDBC’ does not name a type
/home/streamsadmin/OpDetection/toolkits/unica_db_access/impl/include/
        UnicaDatabaseAccess.h:53: error: ‘SQLHSTMT’ does not name a type
/home/streamsadmin/OpDetection/toolkits/unica_db_access/impl/include/
        UnicaDatabaseAccess.h:69: error: ‘SQLINTEGER’ does not name a type
make: *** [build/function/com/ibm/unica/engine/LoadState.o] Error 1

Procedure

  1. If you are using DB2 for your system table database, ensure that the include directory is present under the DB2 client installation directory on the Streams server.If the include directory is not present, contact your database administrator.
  2. Ensure that all .h (header) files are present in the include directory under the DB2 client installation directory on the Streams server.
  3. Ensure that an accurate path is specified in the Streams function.xml file for the include and lib64 directories. The function.xml file is located in the /home/streamsadmin/OpDetection/toolkits/unica_db_access/db.access/native.function directory. The path must reflect the location of your DB2 database client. This is described in the HCL® Opportunity Detect and Interact Advanced Patterns Installation Guide, in the topic titled "Editing Streams and Opportunity Detect XML files."