CreateUserWizard error with duplicate email
JasonYFeb 28 2009 — edited Mar 3 2009Hi, I am using the oracle membership provider for an application and have found that I can create users and log in just fine however if I try to create a user with a duplicate email address or username the application crashes with the message below. I was thinking this would all be gracefully handled between the CreateUserWizard and the membership provider but apparently not?
Anyone come across this before and have any advise on how to sort it out.
Oracle9, .NETv2
Thanks
Jason
==================================================================
ORA-02074: cannot ROLLBACK in a distributed transaction
ORA-06512: at "CAGMOCK_OWNER.ORA_ASPNET_MEM_CREATEUSER", line 171
ORA-00001: unique constraint (CAGMOCK_OWNER.SYS_C003174) violated
ORA-06512: at line 1
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: Oracle.DataAccess.Client.OracleException: ORA-02074: cannot ROLLBACK in a distributed transaction
ORA-06512: at "CAGMOCK_OWNER.ORA_ASPNET_MEM_CREATEUSER", line 171
ORA-00001: unique constraint (CAGMOCK_OWNER.SYS_C003174) violated
ORA-06512: at line 1
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:
[OracleException (0x80004005): ORA-02074: cannot ROLLBACK in a distributed transaction
ORA-06512: at "CAGMOCK_OWNER.ORA_ASPNET_MEM_CREATEUSER", line 171
ORA-00001: unique constraint (CAGMOCK_OWNER.SYS_C003174) violated
ORA-06512: at line 1]
Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure) +295
Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src) +21
Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery() +3456
Oracle.Web.Security.OracleMembershipProvider.CreateUser(String username, String password, String email, String passwordQuestion, String passwordAnswer, Boolean isApproved, Object providerUserKey, MembershipCreateStatus& status) +2793
System.Web.UI.WebControls.CreateUserWizard.AttemptCreateUser() +318
System.Web.UI.WebControls.CreateUserWizard.OnNextButtonClick(WizardNavigationEventArgs e) +102
System.Web.UI.WebControls.Wizard.OnBubbleEvent(Object source, EventArgs e) +418
System.Web.UI.WebControls.CreateUserWizard.OnBubbleEvent(Object source, EventArgs e) +161
System.Web.UI.WebControls.WizardChildTable.OnBubbleEvent(Object source, EventArgs args) +19
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +118
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +166
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565