Editing an attribute binding to be required blows up FIM
This seems like a bug to me... After editing an existing attribute binding called Display Name and making it a required field, I restarted FIM (not straight away, so didn't see this problem straight away) and then went to the page for this entity in Portal, and was presented with a very unhelpful "Unable to process your request" error message. After doing some research and enabling the Yellow Screen of Death, I got this out of it... I tried restarting FIM and doing an IISreset, but it does appear to be a sql data issue. After making it as not required again, the Portal worked. Weird! What should I do from here, how do I report this as a bug? We're using RTM only. A column named 'Display Name' already belongs to this DataTable. body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px} b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px} H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red } H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon } pre {font-family:"Lucida Console";font-size: .9em} .marker {font-weight: bold; color: black;text-decoration: none;} .version {color: gray;} .error {margin-bottom: 10px;} .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; } Server Error in '/' Application. A column named 'Display Name' already belongs to this DataTable. 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: System.Data.DuplicateNameException: A column named 'Display Name' already belongs to this DataTable. 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: [DuplicateNameException: A column named 'Display Name' already belongs to this DataTable.] System.Data.DataColumnCollection.RegisterColumnName(String name, DataColumn column, DataTable table) +3275760 System.Data.DataColumnCollection.BaseAdd(DataColumn column) +144 System.Data.DataColumnCollection.AddAt(Int32 index, DataColumn column) +268 System.Data.DataColumnCollection.AddRange(DataColumn[] columns) +95 Microsoft.IdentityManagement.WebUI.Controls.DataSourceProxy.GetPageRecords(String sortBy, Int32 startRowIndex, Int32 maximumRows) +179 [TargetInvocationException: Exception has been thrown by the target of an invocation.] System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +0 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +1255 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +38 System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance) +897 System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1848 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +27 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +261 Microsoft.IdentityManagement.WebUI.Controls.InternalListView.Rebind() +51 System.Web.UI.Control.LoadRecursive() +66 System.Web.UI.Control.LoadRecursive() +191 System.Web.UI.Control.LoadRecursive() +191 System.Web.UI.Control.LoadRecursive() +191 System.Web.UI.Control.LoadRecursive() +191 System.Web.UI.Control.LoadRecursive() +191 System.Web.UI.Control.LoadRecursive() +191 System.Web.UI.Control.LoadRecursive() +191 System.Web.UI.Control.LoadRecursive() +191 System.Web.UI.Control.AddedControl(Control control, Int32 index) +350 Microsoft.IdentityManagement.WebUI.Controls.NewListViewHostCtrl.CreateChildControls() +1011 Microsoft.IdentityManagement.WebUI.Controls.CustomizedObjectList.CreateChildControls() +21 System.Web.UI.Control.EnsureChildControls() +146 System.Web.UI.Control.PreRenderRecursiveInternal() +61 System.Web.UI.Control.PreRenderRecursiveInternal() +224 System.Web.UI.Control.PreRenderRecursiveInternal() +224 System.Web.UI.Control.PreRenderRecursiveInternal() +224 System.Web.UI.Control.PreRenderRecursiveInternal() +224 System.Web.UI.Control.PreRenderRecursiveInternal() +224 System.Web.UI.Control.PreRenderRecursiveInternal() +224 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3394 Version Information: Microsoft .NET Framework Version:2.0.50727.4200; ASP.NET Version:2.0.50727.4205
September 23rd, 2010 12:19pm

I had the same problem, it seems like a bug. I used my own work-a-round. I edited the RCDC of the object and set Required to true in the RCDC. It's not a nice solution but it is working.
Free Windows Admin Tool Kit Click here and download it now
September 23rd, 2010 2:32pm

Yeah, I've toyed with that, but came to the conclusion it's too nasty as it means the schema is not being properly validated. For instance, we are inserting test-data via web-services, and even migration data at deployment time. Without the required attribute in the schema things could get very badly broken downstream from FIM.
September 23rd, 2010 4:49pm

would you please contact PSS and have the issue logged? btw, is there anyway to recovery from it? if not, it's a pretty bad bug to me
Free Windows Admin Tool Kit Click here and download it now
September 23rd, 2010 5:06pm

just hit the same bug latest build, changed validation filter on attribute binding for DisplayName on custom object. was able to rollback by clearing the filter _AND_ 'required' checkbox. now, if 'required' will be enabled on attribute binding I see A column named 'Display Name' already belongs to this DataTable disabling it solves the problem. The weird thing is that I just added a validation filter and didn't touch anything else.
April 4th, 2011 7:27am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics