Applies to: 

Upgrading a project from 11.5 to 12.01

 

Issue Summary:

We were upgrading projects from QC10 to QC12. We successfully upgraded the projects to QC11.5, but were getting an error when upgrading projects to QC12.

 

The error stated: Some business components have parameters that are only differentiated by the case sensitivity of their name.

 


 

Steps to fix the error:

If this error appears during upgrade than the project is rendered corrupt and must be restored.  Fix should be performed on original pre upgrade version.

 

-To help you pinpoint this problem, the following SQL query should be run (from the project selected in the Site Administration page):

 

SELECT CO_ID,CO_NAME,PARAMNAME

FROM COMPONENT

JOIN (

SELECT COUNT(1) CNT,LOWER(FP_NAME) PARAMNAME

,FP_COMPONENT_ID

FROM FRAMEWORK_PARAM

GROUP BY FP_COMPONENT_ID

,LOWER(FP_NAME)

) A ON FP_COMPONENT_ID = CO_ID

WHERE CNT > 1


This query returns the Component ID, Component Name, and a lowercase representation of the duplicate parameter name. This helps identify the components and parameters that need renaming.

Once you've identified the components that include duplicate parameters, go to Quality Center and use rename parameters to correct this duplication.

After applying the changes, the project can be upgraded.

If the project is versioned or uses baselines, other similar queries need to be run to verify the data stored in these additional tables.


-To verify the history data of a project where Version Control feature is enabled:


SELECT CO_ID,CO_NAME,PARAMNAME

FROM HIST_COMPONENT

JOIN (SELECT COUNT(1) CNT,LOWER(FP_NAME) PARAMNAME,FP_COMPONENT_ID,FP_VC_VERSION_NUMBER

FROM HIST_FRAMEWORK_PARAM

GROUP BY FP_COMPONENT_ID, FP_VC_VERSION_NUMBER,LOWER(FP_NAME)

) A ON FP_COMPONENT_ID = CO_ID AND FP_VC_VERSION_NUMBER = CO_VC_VERSION_NUMBER

WHERE CNT > 1


-To verify the data captured in baselines:


SELECT CO_ID,CO_NAME,PARAMNAME

FROM BL_COMPONENT

JOIN (

SELECT COUNT(1) CNT,LOWER(FP_NAME) PARAMNAME,FP_COMPONENT_ID,FP_BL_ID

FROM BL_FRAMEWORK_PARAM

GROUP BY FP_COMPONENT_ID, FP_BL_ID,LOWER(FP_NAME)

) A ON FP_COMPONENT_ID = CO_ID AND FP_BL_ID = CO_BL_ID

WHERE CNT > 1


Note that unlike fixing the data in regular tables, fixing both history and baseline tables must be done directly on the database.

(because there is no mechanism of modifying historic/baseline data once the data has been captured).

  

Note: Modifying parameter names might make it necessary for you to modify scripts used by renamed components.

Note: Back up your data before running Repair / Upgrade.