Attempting to launch the Logical Device Type Editor fails with an error saying that a UNIQUE constraint on table @MeasurementUnits is being violated. When attempting to select a measurement when configuring a report in the Reports web application, an error in the System Log appears simlar to the following:
Source = ReportView_MeasurementHierarchy
Target = /reporter/Default.aspx
Category = Reporting View
Description =
Violation of UNIQUE KEY constraint 'UQ__#B7D7C19__D64A4126724005BB'. Cannot insert duplicate key in object 'dbo.@MeasurementUnits'. The duplicate key value is (http://rddl.xmlinside.net/PowerMeasurementconfiguration/measurement/1/#Average%20Voltage%20Line-to-Line%20High)
The root cause of both problems is the same - duplicate metadata for measurement units in the ION_Network database. Is not known how the duplicates get created.
To work around this issue, it is necessary to modify a stored procedure called spDAL_GetMeasurementHierarchyNodes in the ION_Network database as follows:
Changed the existing stored procedure:
INSERT INTO
@MeasurementUnits
SELECT
(SubjectNamespace + Subject) -- combine the namespace and the subject to form the full name
, Object
FROM
vTS_Triples
WHERE
Predicate = 'unit'
to be (changes are underlined) - put the 'DISTINCT' key word after SELECT:
INSERT INTO
@MeasurementUnits
SELECT
DISTINCT (SubjectNamespace + Subject) -- combine the namespace and the subject to form the full name
, Object
FROM
vTS_Triples
WHERE
Predicate = 'unit'
Source = ReportView_MeasurementHierarchy
Target = /reporter/Default.aspx
Category = Reporting View
Description =
Violation of UNIQUE KEY constraint 'UQ__#B7D7C19__D64A4126724005BB'. Cannot insert duplicate key in object 'dbo.@MeasurementUnits'. The duplicate key value is (http://rddl.xmlinside.net/PowerMeasurementconfiguration/measurement/1/#Average%20Voltage%20Line-to-Line%20High)
The root cause of both problems is the same - duplicate metadata for measurement units in the ION_Network database. Is not known how the duplicates get created.
To work around this issue, it is necessary to modify a stored procedure called spDAL_GetMeasurementHierarchyNodes in the ION_Network database as follows:
Changed the existing stored procedure:
INSERT INTO
@MeasurementUnits
SELECT
(SubjectNamespace + Subject) -- combine the namespace and the subject to form the full name
, Object
FROM
vTS_Triples
WHERE
Predicate = 'unit'
to be (changes are underlined) - put the 'DISTINCT' key word after SELECT:
INSERT INTO
@MeasurementUnits
SELECT
DISTINCT (SubjectNamespace + Subject) -- combine the namespace and the subject to form the full name
, Object
FROM
vTS_Triples
WHERE
Predicate = 'unit'