Itgenclr009 An item with the same key has already been added

Ik krijg in de Invantive Clod bij het openen van UniversalSQL-editor de volgende foutmelding:

itgenclr009
An item with the same key has already been added.
Key: .
Er is een onbekende fout opgetreden.

Het gaat om een koppeling met Exact Online. Hoe komt dit?

Het lijkt erop dat Invantive probeert de divisions dubbel in te laden. Hoe kan ik dit verhelpen? In Exact Online komt namelijk geen dubbele administratiecode voor.

Een nieuwe release is in productie genoment met aanvullende logging.

Kunt u de foutmelding nogmaals opwekken en de foutcode en -tekst hier toevoegen?

Foutmelding:

itgenbed003
An element with the key ‘’ already exists in a dictionary of String and Partition.
An item with the same key has already been added. Key: .

Call stack:

System.ArgumentException
InvantiveSystemException
   at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
   at Invantive.Basics.ExtensionMethods.AddSafe[K,V](IDictionary`2 dictionary, GlobalState owner, ExecutionOptions executionOptions, K key, V val, Func`2 exceptionFunc, String context)
   at Invantive.Data.PartitionCollection.RegisterForSelection(GlobalState owner, ExecutionOptions executionOptions, Partition partition)
   at Invantive.Data.GenericProvider.SetSelectedPartitions(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SetPartitionMode setPartitionMode, String[] partitionCodes)
   at Invantive.Data.Providers.ExactOnline.ExactOnlineProvider.SetSelectedPartitions(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SetPartitionMode setPartitionMode, String[] partitions)
   at Invantive.Sql.V1.UseStatementTree.Fetch(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, ParameterList parameters, FirehoseResultSet results, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray n
   at Invantive.Data.CompressedEnumerable`1.GetEnumerator()+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitio
   at Invantive.Sql.V1.QueryPlan.CorrectAndCheckData(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SparseArrayPool sparseArrayPool, IEnumerable`1 data, String sqlStatement, String fullQualifiedName)+MoveNext()
   at Invantive.Data.ExtensionMethods.IteratorWithFinally`1.IteratorWithFinallyEnumerator.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Invantive.Data.ConnectionManager.ExecuteAndCombineQueryPlansV1(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, QueryPlan[] queryPlans, String sqlStatement, ParameterList parameters)
   at Invantive.Data.ConnectionManager.ExecuteProviderPassthroughSqlActionTable(GlobalState owner, ExecutionOptions executionOptions, String actionSql, ParameterList parameters, SqlExecutionStep sqlExecutionStep, String callSafeNameOverrule)
   at Invantive.Data.ConnectionManager.PassthroughSqlActionTable(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String actionSql, ParameterList parameters, String callSafeNameOverrule, String originCode)

Door middel van delegatie is toegang verleend.

Het probleem wordt veroorzaakt door de instructie use all@eol die wordt uitgevoerd bij het openen van de database.

Zonder selectie van partities opent de editor en selecteert standaard het laatst gebruikte bedrijf in Exact Online.

Elke volgende use-instructie mislukt echter met itgenbed003:

  • use all@eol
  • use default@eol
  • use 123123@eol

Een analist zal het probleem onderzoeken.

Voor verdere analyse is traditionele toegang noodzakelijk. Zodra beschikbaar zal dit punt weer opgepakt worden.

A bug fix has been made and deployed to production on Invantive Cloud.

The root cause found is that the Exact Online driver also includes a module for Exact Online Premium, as mentioned in Beperk toegang tot specifieke administraties op de Exact Online Premium-database op SQL Server. We are currently not allowed to make this available, but the module does run (inactive) alongside.

Recent adjustments were not applied to the Exact Online Premium component. This has been corrected. This also explains why only some users were affected; it only concerned users of Exact Online Premium. Exact Online SaaS users were not affected because the module cannot run with them.

More information can be found at:

This question has been automatically closed after 1 week of inactivity. The last given answer has been marked as the solution.

Please start a new question in a separate topic if the issue occurs again. Please include a link to this topic in the new question by pasting its URL into the text.