DataConduIT integrations are failing to finish

Symptom

 
 
DataConduIT integrations fail to finish. Error in log looks similar to:
 
 
 
Error  - XML parse error: error code = 0xc00ce002; source = line 1, char 2304; error description = Reference to undefined entity 'AMP'.
 
 

Resolution


  1. Log into SQL Management Studio using SA credentials.
  2. Navigate ACCESSCONTROL\Programmability and select dbo.SPL_LNL_CREATEXMLFORSCHEMA from Stored Procedures.
  3. Right-click and select Script stored Procedure as and choose DROP and CREATE to.
  4. A SQL query window opens. Find the line:

    SET @STRVALUE = ''''' ELSE ''>'' + REPLACE(REPLACE(' + @CURSORNAME + @COLUMNNAME + ',''&'',''&''),''

  5. Replace the AMP and LT to lower case as shown below:

    SET @STRVALUE = ''''' ELSE ''>'' + REPLACE(REPLACE(' + @CURSORNAME + @COLUMNNAME + ',''&'',''&''),''

  6. Select the script and run it.
  7. Refresh the Stored Procedure and you should see the modified version available.
  8. From System Administration > System Options, click Modify and uncheck Generate Software Events
  9. Save the change, wait for couple of minutes, and then click Modify and recheck Generate Software Events. Save your changes again.
  10. Once that is done, you can verify the modified triggers from the tables dbo.EMP and Triggers. You should see the modified version of the trigger with small amp.
  11. Restart the DataConduIT and associated services.
  12. Modify a user with an “&”  and confirm that you do not see the XML error in the dataconduit.log.

 

 
 

Applies To

 
 
OnGuard 7.0 to 7.3 (issue is resolved in OnGuard 7.4).
 
 
 

Additional Information

 

 Root cause of this issue is because there are & in the user fields. The & as it is currently written in DatacounduIT breaks the calls.