Itgenclr009 Et element med samme nøkkel er allerede lagt til

Jeg får følgende feilmelding i Invantive Cloud når jeg åpner UniversalSQL-editoren:

itgenclr009
Et element med samme nøkkel har allerede blitt lagt til.
Nøkkel: .
Det har oppstått en ukjent feil.

Dette gjelder en tilkobling med Exact Online. Hva skyldes dette?

Det ser ut til at Invantive prøver å laste inn divisjoner dobbelt. Hvordan kan jeg løse dette? I Exact Online finnes det nemlig ingen dupliserte administrasjonskoder.

En ny utgivelse er satt i produksjon med tilleggslogging.

Kan du reprodusere feilmeldingen igjen og legge til feilkoden og -teksten her?

Feilmelding:

itgenbed003
Et element med nøkkelen ‘’ finnes allerede i en ordbok av String og Partition.
Et element med samme nøkkel har allerede blitt lagt til. Nøkkel: .

Kallstakk:

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)

Tilgang er gitt ved hjelp av delegasjon.

Problemet skyldes instruksjonen use all@eol som kjører ved åpning av databasen.

Uten partisjonsvalg åpner redaktøren og velger som standard selskapet som sist ble brukt i Exact Online.

Hver påfølgende use-instruksjon mislykkes imidlertid med itgenbed003:

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

En analytiker vil undersøke problemet.

For videre analyse er tradisjonell tilgang nødvendig. Så snart det er tilgjengelig, vil dette punktet bli tatt opp igjen.

En feilretting er laget og satt i produksjon på Invantive Cloud.

Den oppdagede årsaken er at Exact Online-driveren også inneholder en modul for Exact Online Premium som Beperk toegang tot specifieke administraties op de Exact Online Premium-database op SQL Server. Disse kan vi foreløpig ikke gjøre tilgjengelige, men modulen kjører (inaktivt) med.

Nylige endringer var ikke gjennomført for Exact Online Premium-komponenten. Dette er korrigert. Dette forklarer også hvorfor bare en del av brukerne ble påvirket; dette gjaldt kun brukere av Exact Online Premium. Exact Online SaaS-brukere ble ikke påvirket fordi modulen ikke kan kjøres med.

Mer informasjon finnes under:

Dette spørsmålet ble automatisk lukket etter 1 uke uten aktivitet. Det siste svaret er merket som løsning.

Vennligst opprett et nytt spørsmål i et eget tema dersom problemet skulle oppstå igjen. Vennligst inkluder en lenke til dette temaet i det nye spørsmålet ved å lime inn URL-en i teksten.