Consider the following scenario:
- You use a Data Quality Client application to create a knowledge base in Microsoft SQL Server 2012.
- You successfully run a matching policy rule for the knowledge base.
- You select the Reload data from source option, and then click Restart to run the matching policy rule again.
In this scenario, the matching policy rule runs, but it is not successful. Additionally, you may receive the following error message:
System.InvalidCastException: Unable to cast object of type 'System.DBNull' to type 'System.Byte'.
at Microsoft.Ssdqs.DataValueService.Service.DataValueServiceConcrete.SetSynonymsByComputationValue(IMasterContext context, SynonymQueryRange range)
at Microsoft.Ssdqs.DataValueService.Calibrator.DomainValueManagementCalibrator.Calibrate(IMasterContext masterContext, CalibrationMode calibrationMode, ConfigurationDomParameter calibratorConfiguration)
at Microsoft.Ssdqs.Core.Service.Calibration.Impl.ExecuteCalibratorFlow.Process(IMasterContext context)
In this scenario, the knowledge base may have incorrect references. You might have to re-create the knowledge base, or restore it from a backup.
The issue occurs because the knowledge base points to nonexistent values. When you try to rerun the matching policy rule, it cannot use the nonexistent values in the calculations.
Cumulative update information
Cumulative Update 2 for SQL Server 2012 Service Pack 1 (SP1)
The fix for this issue was first released in Cumulative Update 2. For more information about how to obtain this cumulative update package for SQL Server 2012 Service Pack 1, click the following article number to view the article in the Microsoft Knowledge Base:
Cumulative update package 2 for SQL Server 2012 Service Pack 1
Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2012 Service Pack 1 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
The SQL Server 2012 builds that were released after SQL Server 2012 Service Pack 1 was released
After you install the cumulative update package, you must run DQSInstaller.exe -upgradedlls
on the server to upgrade the Data Quality Services (DQS) SQL Common Language Runtime (SQLCLR) assemblies before users can use the Data Quality Client application to reconnect to the DQS.
For more information about how to upgrade SQLCLR assemblies, go to the following Microsoft websites:
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
To work around the issue, click Cancel
to discard the knowledge base changes, reopen the knowledge base, and then run the matching policy rule again.