Toad World® Forums

Can't Execute Stored Procedure

When I attempt to execute a stored procedure by right clicking the procedure name and selecting Operations->Execute Procedure, I get the following error: (I have replaced the info specific to my DB with placeholders)

"Column 'Context, Name' is constrained to be unique. Value 'oracle://{USERNAME}@{HOST}/{SCHEMA}.{PROCEDURE_NAME}, {PARAMETER_NAME}' is already present."

I ran Toad with /log=all, and there were no related messages in the Toad.log file, but in the ExceptionTrace.log file I have the following exceptions:

New exception: 7/1/2019 8:37:02 AM

System.Data.ConstraintException: Column 'Context, Name' is constrained to be unique.  Value 'oracle://{USERNAME}@{HOST}/{SCHEMA}.{PROCEDURE_NAME}, {PARAMETER_NAME}' is already present.

Stack trace:

   at System.Data.UniqueConstraint.CheckConstraint(DataRow row, DataRowAction action)
   at System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent)
   at System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Boolean suppressEnsurePropertyChanged, Int32 position, Boolean fireEvent, Exception& deferredException)
   at System.Data.DataTable.InsertRow(DataRow row, Int64 proposedID, Int32 pos, Boolean fireEvent)
   at System.Data.DataRowCollection.Add(Object[] values)
   at Quest.Toad.Db.BindVariables.Update(ITrl context, DataTable vars)
   at Quest.Toad.DatabaseBrowser.BrowserCallbackActions.RunObject(Object sender, ITrl[] trls)

Outer exception:


System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.

Stack trace:

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Quest.Toad.ActionManagement.ActionInvoker.InvokeDirect(MethodInfo method, Object[] data)
   at Quest.Toad.ActionManagement.ActionInvoker.Invoke(MethodInfo method, Object[] data)

New exception: 7/1/2019 8:37:03 AM

System.Data.ConstraintException: Column 'Context, Name' is constrained to be unique.  Value 'oracle://{USERNAME}@{HOST}/{SCHEMA}.{PROCEDURE_NAME}, {PARAMETER_NAME}' is already present.

Stack trace:

   at System.Data.UniqueConstraint.CheckConstraint(DataRow row, DataRowAction action)
   at System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent)
   at System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Boolean suppressEnsurePropertyChanged, Int32 position, Boolean fireEvent, Exception& deferredException)
   at System.Data.DataTable.InsertRow(DataRow row, Int64 proposedID, Int32 pos, Boolean fireEvent)
   at System.Data.DataRowCollection.Add(Object[] values)
   at Quest.Toad.Db.BindVariables.Update(ITrl context, DataTable vars)
   at Quest.Toad.DatabaseBrowser.BrowserCallbackActions.RunObject(Object sender, ITrl[] trls)

Outer exception:


System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.

Stack trace:

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Quest.Toad.ActionManagement.ActionInvoker.InvokeDirect(MethodInfo method, Object[] data)
   at Quest.Toad.ActionManagement.ActionInvoker.Invoke(MethodInfo method, Object[] data)

New exception: 7/1/2019 8:51:43 AM

System.ArgumentException: An item with the same key has already been added.

Stack trace:

   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at DevExpress.XtraTreeList.ViewInfo.ColumnsInfo.Add(ColumnInfo ci)
   at DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.RegisterColumnInfo(ColumnInfo cInfo, BandInfo bInfo)
   at DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.CalcColumnsInfo()
   at DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.CalcViewInfo()
   at DevExpress.XtraTreeList.TreeList.UpdateLayout()
   at DevExpress.XtraTreeList.TreeList.LayoutChanged()
   at DevExpress.XtraTreeList.TreeList.EndUpdate()
   at Quest.Toad.DatabaseBrowser.ColumnListControl.Dispose(Boolean disposing)

New exception: 7/1/2019 8:51:43 AM

System.ArgumentException: An item with the same key has already been added.

Stack trace:

   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at DevExpress.XtraTreeList.ViewInfo.ColumnsInfo.Add(ColumnInfo ci)
   at DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.RegisterColumnInfo(ColumnInfo cInfo, BandInfo bInfo)
   at DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.CalcColumnsInfo()
   at DevExpress.XtraTreeList.ViewInfo.TreeListViewInfo.CalcViewInfo()
   at DevExpress.XtraTreeList.TreeList.UpdateLayout()
   at DevExpress.XtraTreeList.TreeList.LayoutChanged()
   at DevExpress.XtraTreeList.TreeList.EndUpdate()
   at Quest.Toad.DatabaseBrowser.ColumnListControl.Dispose(Boolean disposing)

New exception: 7/1/2019 8:53:19 AM

System.Data.ConstraintException: Column 'Context, Name' is constrained to be unique.  Value 'oracle://{USERNAME}@{HOST}/{SCHEMA}.{PROCEDURE_NAME}, {PARAMETER_NAME}' is already present.

Stack trace:

   at System.Data.UniqueConstraint.CheckConstraint(DataRow row, DataRowAction action)
   at System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent)
   at System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Boolean suppressEnsurePropertyChanged, Int32 position, Boolean fireEvent, Exception& deferredException)
   at System.Data.DataTable.InsertRow(DataRow row, Int64 proposedID, Int32 pos, Boolean fireEvent)
   at System.Data.DataRowCollection.Add(Object[] values)
   at Quest.Toad.Db.BindVariables.Update(ITrl context, DataTable vars)
   at Quest.Toad.DatabaseBrowser.BrowserCallbackActions.RunObject(Object sender, ITrl[] trls)

Outer exception:


System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.

Stack trace:

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Quest.Toad.ActionManagement.ActionInvoker.InvokeDirect(MethodInfo method, Object[] data)
   at Quest.Toad.ActionManagement.ActionInvoker.Invoke(MethodInfo method, Object[] data)

New exception: 7/1/2019 8:53:19 AM

System.Data.ConstraintException: Column 'Context, Name' is constrained to be unique.  Value 'oracle://{USERNAME}@{HOST}/{SCHEMA}.{PROCEDURE_NAME}, {PARAMETER_NAME}' is already present.

Stack trace:

   at System.Data.UniqueConstraint.CheckConstraint(DataRow row, DataRowAction action)
   at System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent)
   at System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Boolean suppressEnsurePropertyChanged, Int32 position, Boolean fireEvent, Exception& deferredException)
   at System.Data.DataTable.InsertRow(DataRow row, Int64 proposedID, Int32 pos, Boolean fireEvent)
   at System.Data.DataRowCollection.Add(Object[] values)
   at Quest.Toad.Db.BindVariables.Update(ITrl context, DataTable vars)
   at Quest.Toad.DatabaseBrowser.BrowserCallbackActions.RunObject(Object sender, ITrl[] trls)

Outer exception:


System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.

Stack trace:

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Quest.Toad.ActionManagement.ActionInvoker.InvokeDirect(MethodInfo method, Object[] data)
   at Quest.Toad.ActionManagement.ActionInvoker.Invoke(MethodInfo method, Object[] data)

All the errors appear to be Toad related, and this problem is only occurring on recent installations on new computers.

Any assistance would be greatly appreciated.

Jon King

What version do you have? This sounds familiar in older releases but I believe that was fixed.

We are currently using version 5.0.3.32.

I can reproduce the issue when executing a procedure on Oracle. I entered QAT-15037 but it will miss TDP 5.0.7 release. When executing an oracle procedure we create a block of code. If you execute the code in the editor it does not error and this can be used as a work around