Testing your CDSC: Troubleshooting
We have created MDSC and CDSC components in separate DLLs. The MDSC can be used with Metadata Model Explorer, but it doesn't work when I try to use the MDSC in CDSC Test. Specifically, it is the code in PropertyBuilder.Initialize() that attempts to create a Document object using the MDSC that fails:
...
Dim MDSC As Object
Set MDSC = CreateObject(strMDSCClass)
MDSC.FillDocument strLocation, mdmDoc
...
I get the same error when using CDSC Test in the same way with the Quanvert MDSC. That is, the line fails when strMDSCClass is "mrQvDsc".
This error occurs when you use the short DSC name in the CreateObject function instead of the COM class name. The DSC Registration component recognizes the short DSC name and that's why you can use your MDSC in Metadata Model Explorer. However, the CreateObject function expects the string to be the COM class name, which is "Mdm_qv.QVMetadata" for the Quanvert MDSC. You can find out the class name string for a registered DSC using
DSC Explorer.
An alternative would be to use the DSC Registration component as shown in the
MDM Explorer code.
When connecting to my CDSC, the seems to ignore the DSC Casedata Registry key. For example, when I create Registry entries under SOFTWARE\SPSS\MR Data Providers of "mySpecialDSC" for the DSC and "myCDSC" for the Casedata subentry, I get an invalid Class name error when I attempt to connect to the CDSC through the UNICOM Intelligence Data Model. Why is this?
The does not use the Registry when connecting to a CDSC. It creates the program ID by simply taking the DSC component name and appending ".Source", so the program ID would be "mySpecialDSC.Source" and not "myDSC.Source" in your case.
This is because the registry entries used by the DSC Registration component were added after the CDSC connection was implemented in the .
When I use CDSC Test with my new CDSC, the columns appear as expected. However, in DM Query, only columns that are defined as VariableInstance objects in the MDM document are accessible. In particular the respondent fields (number, date/time, and so on) are not accessible. Why is this?
It sounds as if you connected to the case data with metadata loaded in DM Query but without metadata in CDSC Test. When you connect to the case data with metadata loaded, the MDM document is used to resolve the variable names and therefore the table schema. This means that variables that are defined in the MDM but not in the MDM are not visible. (Although if a variable is defined in the MDM but not in the MDM, a NULL column is created.) However, when you connect to the case data without metadata, the CDSC schema is used. For more information, see
MDM integration and
Understanding the MDM integration.
Note that the MDM has an option to exclude the system variables from the MDM document. If you want to include the system variables in the MDM document, you need to set the IncludeSystemVariables property on the MDM document object. For more information, see
Setting up the document.
Requirements
▪UNICOM Intelligence Data Model
See also