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.|
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.
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
//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;
//assign parsed data, minus 'CN=', to newmanager field in row
row["myManager"] = manager.Substring(3,manager.Length-3);
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.
|Description||Logged in sydd2 (Altiris - Sydney) database|
Article URL http://www.symantec.com/docs/TECH41151