KNOWN ISSUE: Using LDAP Connector and pre-processing function get error "Failed to execute data pre-processing function

Article:TECH41151  |  Created: 2009-01-14  |  Updated: 2009-01-20  |  Article URL http://www.symantec.com/docs/TECH41151
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



Setting up a LDAP Connector Datasource using pre-processing function and you try to view the data.  In doing this you get this error'

Failed to execute data pre-processing function. The pre-processing code threw an exception 'System.ArgumentException: Column 'manager' does not belong to table Table1. at System.Data.DataRow.get_Item(String columnName) at DataSourcePreProcessing.ProcessData(DataTable importData)'

If you also use this datasource in an Import rule you will see the same error generated.

Environment



Connector 6.5

Cause



unknown

Solution



Symantec is working towards a resolution and will update this article when a resolution is reached. Subscribe to this article if you would like to receive any updates.

Workaround:

1.  Create a scheduled task use the executable CSVDE (http://technet.microsoft.com/en-us/library/cc772704.aspx).    This utility is designed to export your data from AD into a CSV file.
          Here is an example for the syntax to run CSVDE: 
                      csvde.exe -f user.csv -j c:\test -r "(&(objectClass=user)(manager=CN=*))"
      In the Scheduled task set the time you want the it to run.
 
2.   Create a CSV File Data source that will use the file created from CSVDE.


3.       On the Data Source enable Import data pre-processing function.  Below is sample code you can use for your script;
                    //add new column for parsed data
                        importData.Columns.Add("myManager", typeof(System.String));
                        importData.AcceptChanges();
                  //iterate over rows in importData collection
                        foreach (DataRow row in importData.Rows)
                       {
                                  //create dummy string
                                      string t = row["manager"].ToString();
                                 //create string array of manager dn, split on comma
                                      string[] a = t.Split(',');
                                //assign first array member to dummy string
                                      string manager = a[0];
                                //assign parsed data, minus 'CN=', to newmanager field in row
                                       row["myManager"] = manager.Substring(3,manager.Length-3);
                       }
                return importData;


4.       Create an Import/Export rule that will use the CSV file Data Source.
            Here you will map the columns to the data classes and also then you will schedule the rule to run.  FYI – You will want to do it sometime after the CSV file is created.

 


Supplemental Materials

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

Legacy ID



45058


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


Terms of use for this information are found in Legal Notices