Support Article

Update to JDBC 4 DB2 driver BadTableMapping-TooManyProperties

SA-36065

Summary



DB2 Driver update to JDBC driver version : 4.12.55 produces errors.

Error Messages



[setRunState] Exception occured while setting RunState
com.pega.pegarules.pub.database.BadTableMappingException: Database-BadTableMapping-TooManyPropertiesSystem-Status-Nodesdata.pr_sys_statusnodesPegaDATA PYSTARTEDDATETIME , PYACTIVEUSERCOUNT , PZASMCACHECONFIGID , PYSTOPPEDDATETIME , PYINDEXDIRECTORY , PYBATCHINDEXBUILT , PYCLUSTERADDRESS , PYCLEANSHUTDOWN , PYNODENAME , PYCODESETSLIST , PXCREATEDATETIME , PYSYSNODEID , PZINSKEY , PYINDEXERSTATE , PYLASTPULSEDATETIME , PYLASTINDEXBUILDDATETIME , PYINDEXERADDRESS , PYRUNSTATE , PYSYSTEMNAME , PYSHUTDOWNNOW , PXINSNAME
From: (BF302880FB63B2749935473D0E723833E:(Master For New Agents))

[3/31/17 13:12:04:970 EDT] 0000007d SystemOut O 2017-03-31 13:12:04,968 [r.SRMWorkManager : 1] [ STANDARD] [ ] [ PegaRULES:07.10] (unt.System_Status_Nodes.Action) ERROR - obj-save failed.
com.pega.pegarules.pub.database.BadTableMappingException: Database-BadTableMapping-TooManyPropertiesSystem-Status-Nodesdata.pr_sys_statusnodesPegaDATA PYSTARTEDDATETIME , PZASMCACHECONFIGID , PYACTIVEUSERCOUNT , PYSTOPPEDDATETIME , PYINDEXDIRECTORY , PYBATCHINDEXBUILT , PYCLUSTERADDRESS , PYCLEANSHUTDOWN , PYNODENAME , PYCODESETSLIST , PXCREATEDATETIME , PYSYSNODEID , PZINSKEY , PYINDEXERSTATE , PYLASTPULSEDATETIME , PYLASTINDEXBUILDDATETIME , PYINDEXERADDRESS , PYRUNSTATE , PYSYSTEMNAME , PYSHUTDOWNNOW , PXINSNAME


Steps to Reproduce

  1. For the DB2 JDBC Provider, update the DB2 driver JAR file from db2jcc.jar to db2jcc4.jar.
  2. Restart the JVM.


Root Cause



A third-party product issue

Part of the update to the JDBC 4 compliance DB2 driver technology changed the way that column aliases are handled.
The error is thrown if the
useJDBC4ColumnNameAndLabelSemantics=2 custom parameter is not set for the data source.

Resolution



Make the following change to the operating environment:

Set the custom property
useJDBC4ColumnNameAndLabelSemantics=2 in the JDBC data source.

Published April 5, 2017 - Updated May 1, 2017

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.