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. |
Problem
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.
| Source | DEFECT |
| Value | SYD 39783 |
| Description | Logged 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









Thank you.