KNOWN ISSUE: "Failed to find foreign column name control" when trying to set Replication Direction in Import/Export rule

Article:TECH28864  |  Created: 2007-04-17  |  Updated: 2007-05-09  |  Article URL http://www.symantec.com/docs/TECH28864
NOTE: If you are experiencing this particular known issue, we recommend that you Subscribe to receive email notification each time this article is updated. Subscribers will be the first to learn about any releases, status changes, workarounds or decisions made.
Article Type
Technical Solution


Issue



When selecting the Replication Direction in a Resources Import/Export rule, that is set to a custom Resource Type, the following error is thrown:

Server Error in '/Altiris/Connector' Application.
--------------------------------------------------------------------------------

Failed to find foreign column name control for <class-guid-here> <attribute-name-here>:
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: Altiris.NS.Exceptions.AeXException: Failed to find foreign column name control for <class-guid-here> <attribute-name-here>:

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace:

[AeXException: Failed to find foreign column name control for <class-guid-here> <attribute-name-here>:]
   Altiris.NS.Connector.Web.DataClassAttributeMappingControl.DataBind() +633
   Altiris.NS.Connector.Web.ImportExportRule.CreateDataClassesMappingsTable(Boolean bReloadColumns, Boolean bSetSavedValues) +1854
   Altiris.NS.Connector.Web.ImportExportRule.CreateAllMappingControls(Boolean bReloadColumns, Boolean bSetSavedValues) +230
   Altiris.NS.Connector.Web.ImportExportRule.drpReplicationType_Change(Object sender, EventArgs e) +376
   System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e) +108
   System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent() +26
   System.Web.UI.Page.RaiseChangedEvents() +115
   System.Web.UI.Page.ProcessRequestMain() +1099


Environment



Notification Server 6.0.6074 SP3 R4
Altiris Connector 6.1

Cause



This is caused by a custom data class with an attribute with a colon (:) being tied to the Resource Type being selected in the Resources Import/Export rule.

Solution



This has been identified as a bug in Notification Server 6.x

At present, the way to avoid this error is to not use the colon character in attribute names. Being able to use special characters in attribute names may be addressed in a future release of Notification Server.

If there is no data in the custom resource type associated with the custom data class, simply delete and recreate the custom data class but without using a colon in any of the attribute names.

If there is, however, data in the custom resource type, the only method of removing the colon is to copy the data to a temporary SQL table, delete and recreate the custom data class with attributes without using a colon in any of their names, then copying the data back into it. The following procedure describes how to do this:

Important Notes: Backup the Altiris database before performing the following procedure. If this is not followed correctly, data loss may occur. Please consult with your database administrator for assistance in using the following SQL script, as Symantec Technical Support is unable to perform this for you.

  1. In SQL, using the Altiris database, copy the custom data class table into a temporary backup table:

    select * into inv_backup_table
    from inv_custom_data_class


    Where the two table names are a new temporary one (the first) and the name of the existing one (the second). Custom data class tables are named after the name of the custom data class, with "inv_" preceding their name.
  2. Verify that the data was backed up:

    select * from inv_backup_table

    This should return the same data that is also in the inv_custom_data_class table.
  3. In the Altiris Console, delete the custom data class that has colons in attribute names.
  4. Create the custom data class again, this time without adding colons in the attribute names.
  5. Link the custom data class back to its custom resource type.
  6. In SQL again, copy the data from the backup table into the new table:

    set identity_insert inv_new_custom_data_class
    insert into inv_new_custom_data_class (column1, column2, column3)
    select column1, column2, column3 from inv_backup_table
    set identity_insert inv_new_custom_data_class OFF


    Where "column" is the names of the columns, and, for the inv_backup_table, one or more of the column names will have a colon in it. Do not add the colon to the inv_new_custom_data_class columns.
  7. Verify that the data was copied to the new table:

    select * from inv_new_custom_data_class

    This should return the same data that is was in the original table, but without the colon in the attribute names.
  8. In the Altiris Console, verify that the data is also present.

Note: The temporary table can be deleted in SQL after this procedure has been completed successfully.


Supplemental Materials

SourceDEFECT
ValueSYD 30269
DescriptionLogged in sydd2 (Altiris - Sydney) database

Legacy ID



34362


Article URL http://www.symantec.com/docs/TECH28864


Terms of use for this information are found in Legal Notices