SQL IDENTIFIERS MAY NOT EXCEED 32 BYTES IN LENGTH

book

Article ID: 209669

calendar_today

Updated On:

Products

CA Chorus Software Manager

Issue/Introduction

After maintenance has been applied and the deploy job ran successfully.  Also Java has been upgraded to V8 the MSMTC fails RC12 at startup.

System startup failed - please see error output for further information. Fatal error that has stopped the startup was: StatementCallback; bad SQL grammar [select vendorid, name, description, phone, url from vendor order by vendor.name]; nested exception is java.sql.SQLException: ca.datacom.db.DBSQLException: ca.datacom.db.DBSQLException: SQL IDENTIFIERS MAY NOT EXCEED 32 BYTES IN LENGTH in Session Exception executeImmediate)in Query(prepare).

Environment

Release : 6.0

Component : MSM USER INTERFACE

Resolution

Run MSMDEPLY with parm backout then MSMTC may start successfully.

Where it says:

PARM='SH echo "&MSM/MSMDeploy.sh deploy" | su' 

Change it to :

PARM='SH echo "&MSM/MSMDeploy.sh backout" | su' 

If MSMTC still fails at startup open a case for CA CSM/MSM on support.broadcom.com.

In the target zone of your CSM CSI are these two DDDEF's.  They should be defined as shown below with SRVHFS2 ending with /lib and SRVHFS3 ending with /bin

REP  DDDEF(SRVHFS2)                                              
     PATH('/parentpath/msm/datacom/dbsrv/lib/').
REP  DDDEF(SRVHFS3)                                              
     PATH('/parentpath/msm/datacom/dbsrv/bin/').

Initially SRVHFS2 and 3 were not assigned to the correct directory paths, they were defined like this:

SRVHFS2 to /yourparentpath/msm/datacom/dbsrv/bin/ 

SRVHFS3 to /yourparentpath/msm/datacom/dbsrv/lib/ 

and corrected to the following based on the RO97484 HOLDDATA for build 148:

SRVHFS2 to /yourparentpath/msm/datacom/dbsrv/lib/ 

SRVHFS3 to /yourparentpath/msm/datacom/dbsrv/bin/ 

These may now correct in your CSM CSI.

CSM should only be using the path /yourparentpath/msm/datacom/dbsrv/lib/ for deployment but was previously using /yourparentpath/msm/datacom/dbsrv/bin/ because the SRVHFS2 and 3 weren't defined correctly. This means that all the PTF's applied to datacom/AD that update these DDDEF's before the correction was made are in /yourparentpath/msm/datacom/dbsrv/bin/  when they should have been in /yourparentpath/msm/datacom/dbsrv/lib/.

If no PTF's were applied that updated the DDDEF's after the correction to the DDDEF's was made you should be able to copy all the files from /yourparentpath/msm/datacom/dbsrv/bin ( because this is was mistakenly being updated ) to /yourparentpath/msm/datacom/dbsrv/lib ( because this is what should have been updated).

This will only work if no PTF's were applied after the correction.


Backup /yourparentpath/msm/datacom/dbsrv/lib to some directory though I doubt it will be needed then copy all files from /yourparentpath/msm/datacom/dbsrv/bin to /yourparentpath/msm/datacom/dbsrv/lib


Replace all members in /yourparentpath/datacom/dbsrv/lib with those from /yourparentpath/msm/datacom/dbsrv/bin.

 Run MSMDEPLY with the deploy parm then restart MSMTC. It should be successful.

If this does not correct the ca.datacom.db.DBSQLException: SQL IDENTIFIERS MAY NOT EXCEED 32 BYTES IN LENGTH you may need to refer to:

https://knowledge.broadcom.com/external/article/100228/is-it-possible-to-reinstall-the-ca-csm-s.html