troubleshooting Question

Error : Column 'Employee_Key' does not belong to table Employee.

Avatar of 2ooth
2ooth asked on
13 Comments1 Solution941 ViewsLast Modified:

I am trying to popluate a datarow (please the attached code) with values from Active Directory and i get the error 'Column 'Employee_Key' does not belong to table Employee' on line  dr["Employee_Key"] = dey.Properties["title"].Value ?? string.Empty;

All i am trying to do is load a schema of the Employee table from the database and apply it to dt (datatable) and then loop through all the rows of Active Directory and built a table with that data.

however when i create a new row and try to assign values i get the above error

Please, could you help me figure out why i am getting this error... I searched in google but of no avail :'( I'm on a dead end :((

public DataTable GetData(Entities.Config.EtlConfig config)
            var s = new SqlLoader();
            var dt = s.GetSchemaTable(config.SqlTableToLoad);
            string setdate = DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss");
            dt.TableName = "Employee";

                DirectoryEntry de = GetDirectoryEntry();
                DirectorySearcher ds = new DirectorySearcher(de);
                SearchResultCollection results = ds.FindAll();
                foreach (SearchResult result in results)
                    DirectoryEntry dey = GetDirectoryEntry();

                    DataRow dr = dt.NewRow();

                    dr["Employee_Key"] = dey.Properties["title"].Value ?? string.Empty; 
                    dr["Employee_Name"] = dey.Properties["cn"].Value;
                    dr["Employee_Full_Name"] = dey.Properties["distinguishedName"].Value;
                    dr["Employee_Phone_Number"] = dey.Properties["telephoneNumber"];
                    dr["Email_Address"] = dey.Properties["mail"];
                    dr["Business_Unit"] = dey.Properties["department"];
                    dr["Supervisor_Full_Name"] = dey.Properties["manager"];
                    dr["Row_Update_Date"] = setdate;
                    dr["Source"] = config.Source;

                return dt;
            catch(Exception e)
                throw new CustomException(e,ErrorType.DataImporter,e.Message);

        public DataTable GetSchemaTable(string sqlTable)
            DataTable dt;
               SqlDataReader rd;
               using (rd= (SqlDataReader)_dbManager.ExecuteReader(CommandType.Text, "Select top 1 * from " + sqlTable + " NOLOCK"))
                   dt = rd.GetSchemaTable();
            catch (Exception ex)
                _log.Error("Error getting schema for table : " + sqlTable + " " + ex.Message);
                throw new CustomException(ex,ErrorType.SQLImport,"Error getting schema for table : " + sqlTable + " " +  ex.Message);

            return dt;

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 13 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 13 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros