Adaptive Server and DB2 Table Names Do Not Match

Occurs when a DB2 table with an uppercase name is sent to an Adaptive Server.

Symptom

These messages are reported in the Replication Server error log:
E. 2006/06/13 12:31:29. ERROR #1028 DSI(DSMA1.apptst) - dsiqmint.c(3668)
Message from server: Message: 208, State: 1, Severity: 16 -- ‘TEST not found.
Specify owner.objectname or use sp_help to check whether the object exists
(sp_help may produce lots of output). ‘.
H. 2006/06/13 12:31:29. THREAD FATAL ERROR #5049 DSI(DSMA1.apptst) -
dsiqmint.c(3675) The DSI thread for database ‘DSMA1.apptst’ is being
shutdown. DSI received data server error #208 which is mapped to
STOP_REPLICATION.
See logged data server errors for more information. The data server error
was caused by RS output command #1 mapped from input command #2 of the failed
transaction.
E. 2006/06/13 12:31:29. ERROR #32032 LTM USER(TCPIP.ZD60) - /nrm/nrm.c(1658)
No table with name ‘TEST’ is defined at repserver with id TCPIP.ZD6

Explanation

DB2 object names are in uppercase while Adaptive Server object names can be in mixed case.

Solution

Any of:
  • Replicate into VIEWS with uppercase object names.

  • Create a table name in uppercase, and use custom function strings with column names that match the case of the columns in the replicate table.

  • Create the Adaptive Server object names in uppercase to match the DB2 object names.

  • If the Adaptive Server table uses lowercase names, use function strings to force the Replication Server to generate lowercase table and column names when transactions are sent to the Adaptive Server.