Itgencmr406 met Exact Online op Invantive Data Hub 26.0

Update naar 26 werd geïnstalleerd (zie Error itgenobr344: Missing state - #16).

De vernieuwing start op, maar gaat vervolgens in fout tijdens het proces:

itgencmr406
No provider available to handle requested Get OAuth Token.
Please contact your application administrator.

Wat zou hier de reden toe zijn?

2026-06-25 15:37:24.231 Error itgencun016: Error itgencmr406: No provider available to handle requested Get OAuth Token.
Please contact your application administrator.
OAuthHeadless, InvantiveProducer, ExactOnlineAll (eolbe), TeamViewer, KeePass, Mail, Ossus, Os, InMemoryStorage, DataDictionary, DataCache, LastResort
2026-06-25 15:37:26.248 Error itgencmr406: ValidationException
   at Invantive.Basics.ValidationException..ctor(GlobalState owner, ExecutionOptions executionOptions, String messageCode, String errorMessage, String kindRequest, String localStackTrace, String nk, Exception innerException, Boolean inheritMessageCodeWhenPresent, Nullable`1 uid, Nullable`1 isRecoverable, String poolIdentityId, String url, Nullable`1 partyUid, String partitionCode, String tableName, String parameter1, String parameter2, String parameter3, String parameter4, String parameter5, String clientId)
   at Invantive.Data.ConnectionManager.ExecuteGetOAuthToken(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SerializableDatabase database, DataContainer dataContainer, SerializableCredentialsDataContainer credentialsDataContainer, OAuthInformation oauthInfo, Credentials credentials)
   at Invantive.Data.ConnectionManager.GetOAuthToken(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SerializableDatabase database, DataContainer dataContainer, SerializableCredentialsDataContainer credentialsDataContainer, OAuthInformation oauthInfo, Credentials credentials)
   at Invantive.Data.ConnectionManager.GetOAuthTokenForConnection(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SerializableDatabase database, DataContainer dataContainer, ISupportsOAuth provider, Credentials credentials, Boolean ignoreDecryptionErrors, Boolean& decryptionErrorsOccurred)
   at Invantive.Data.ConnectionManager.RefreshOAuthToken(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IConnectionDataProvider provider, Boolean ignoreDecryptionErrors, Boolean& decryptionErrorsOccurred)
   at Invantive.Data.ConnectionManager.A(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep, IConnectionDataProvider)
   at Invantive.Data.Providers.OData.ODataWithOAuthProvider.AcquireOAuthAccessTokenUnlocked(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Data.Providers.OData.ODataWithOAuthProvider.Reauthenticate(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Data.Providers.ExactOnline.ExactOnlineRestProvider.a(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Data.Providers.ExactOnline.ExactOnlineProvider.E(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Data.Providers.ExactOnline.ExactOnlineXmlProvider.Reauthenticate(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Data.Providers.ExactOnline.ExactOnlineXmlProvider.AddAuthenticationToRequest(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, HttpWebRequest request)
   at Invantive.Data.Providers.ExactOnline.ExactOnlineXmlProvider.A(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep, String absoluteUrl, String cacheId, String, String topic, QueryObject, XmlObjectDefinition, Int32, String, String, ParameterList, Guid, Int32& , Int32& , String& , Int64& , Int64& )
   at Invantive.Data.Providers.ExactOnline.ExactOnlineXmlProvider.GetRowsDataFromWebService(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SparseArrayPool sparseArrayPool, ServiceRequest serviceRequest, String topic, XmlObjectDefinition objectDefinition, XmlDatabaseColumnDefinitionCollection allFields, QueryObject queryObject, ParameterList parameters, SharedResultSetObjects sharedObjects)+MoveNext()
   at Invantive.Data.ParallelSelectManyEnumerator`2.Read(GlobalState owner, ExecutionOptions executionOptions, TSource source)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
   at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
   at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
   at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetExistingTaskResult(Task`1 task, TResult result)
   at Invantive.Data.ThreadUtility.Delay(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, TimeSpan delay, String messageCodeOrigin, String descriptionOrigin, String partitionCode, String tableName, Int32 consecutiveSleeps)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
   at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
   at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
   at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetExistingTaskResult(Task`1 task, TResult result)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(TResult result)
   at Invantive.Basics.ThreadBasicUtility.Delay(GlobalState owner, ExecutionOptions executionOptions, TimeSpan delay, CancellationToken cancellationToken, String messageCodeOrigin, String descriptionOrigin, String partitionCode, String tableName, Int32 consecutiveSleeps)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
   at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
   at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
   at System.Threading.Tasks.Task.DelayPromise.CompleteTimedOut()
   at System.Threading.TimerQueue.FireNextTimers()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
   at System.Threading.Thread.StartCallback()
   at Invantive.Data.ParallelSelectManyEnumerator`2.System.Collections.IEnumerator.MoveNext()
   at Invantive.Sql.V1.DataSourceOrFunctionWithRotatorTree.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SparseArrayPool sparseArrayPool, QueryObject queryObject, ParameterList parameters)+MoveNext()
   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, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SqlExecutionStep parentStep, SparseArrayPool sparseArrayPool, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   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, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.CleanSparseArrayIterator.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SqlExecutionStep parentStep, SparseArrayPool sparseArrayPool, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.ChainedFirehose.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SqlExecutionStep parentStep, SparseArrayPool sparseArrayPool, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at System.Linq.Enumerable.IEnumerableSelectIterator`2.MoveNext()
   at Invantive.Sql.V1.GroupByIterator.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SqlExecutionStep parentStep, SparseArrayPool sparseArrayPool, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.SelectListIterator.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at a.q.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep sqlExecutionStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SqlExecutionStep parentStep, SparseArrayPool sparseArrayPool, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   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, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.MaterializeSparseArrayIterator.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   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.ExecuteProviderPassthroughSqlAction(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String actionSql, ParameterList parameters, String callSafeNameOverrule)
--- End of stack trace from previous location ---
   at Invantive.Data.ConnectionManager.ExecuteProviderPassthroughSqlAction(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String actionSql, ParameterList parameters, String callSafeNameOverrule)
   at Invantive.Data.ConnectionManager.PassthroughSqlAction(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String actionSql, ParameterList parameters, String callSafeNameOverrule, String originCode)
--- End of stack trace from previous location ---
   at Invantive.Data.ConnectionManager.PassthroughSqlAction(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String actionSql, ParameterList parameters, String callSafeNameOverrule, String originCode)
   at Invantive.Data.ConnectionManager.PassthroughSqlAction(GlobalState owner, ExecutionOptions executionOptions, String actionSql, ParameterList parameters, String callSafeNameOverrule, String originCode)
   at Invantive.Producer.Data.Hub.QueryEngine.ProcessStatement(GlobalState owner, ExecutionOptions executionOptions, SparseArrayPool sparseArrayPool, String statement, ResultSet& resultSet, Action`3 fetchMoreRows, Action`9 executeStatement, Boolean isInInteractiveMode, ScriptingLanguageNextStepSpecification& nextStepSpecification) in c:\smoke\ws-26.0\Invantive.Data.Hub\src\Invantive.Producer.Data.Hub\QueryEngine.cs:line 2555
2026-06-25 15:37:26.250 Information itgendhb223: End program execution with exit code 3.

Een update is te vinden op:

Advies is om te proberen met de release 26.0.164 van Invantive Data Hub, beschikbaar als download op https://download.invantive.com als “current” versie.

Deze release zou de foutmelding itgencmr406 moeten oplossen.

Het is nog niet gelukt om het tweede probleem te reproduceren waarbij verwarring optreedt tussen de selectie van databases.

Mocht een voorgaande versie reeds aanwezig zijn, dan kan de inhoud van het zip-bestand over de gelijknamige bestanden heengekopieerd worden.

Deze vraag is automatisch gesloten na 1 week inactiviteit. Het laatste gegeven antwoord is gemarkeerd als oplossing.

Gelieve een nieuwe vraag te stellen via een apart topic als het probleem opnieuw optreedt. Gelieve in de nieuwe vraag een link naar dit topic op te nemen door de URL er van in de tekst te plakken.

De fout lijkt zich verder te zetten met Invantive Data Hub Multi-Platform (26.0.164-PROD+5982).

2026-06-30 06:01:58.886 Error itgencun016: Error itgencmr406: No provider available to handle requested Get OAuth Token.
Please contact your application administrator.
OAuthHeadless, InvantiveProducer, ExactOnlineAll (eolbe), TeamViewer, KeePass, Mail, Ossus, Os, InMemoryStorage, DataDictionary, DataCache, LastResort
2026-06-30 06:02:00.906 Error itgencmr406: ValidationException
   at Invantive.Basics.ValidationException..ctor(GlobalState owner, ExecutionOptions executionOptions, String messageCode, String errorMessage, String kindRequest, String localStackTrace, String nk, Exception innerException, Boolean inheritMessageCodeWhenPresent, Nullable`1 uid, Nullable`1 isRecoverable, String poolIdentityId, String url, Nullable`1 partyUid, String partitionCode, String tableName, String parameter1, String parameter2, String parameter3, String parameter4, String parameter5, String clientId)
   at Invantive.Data.ConnectionManager.ExecuteGetOAuthToken(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SerializableDatabase database, DataContainer dataContainer, SerializableCredentialsDataContainer credentialsDataContainer, OAuthInformation oauthInfo, Credentials credentials)
   at Invantive.Data.ConnectionManager.GetOAuthToken(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SerializableDatabase database, DataContainer dataContainer, SerializableCredentialsDataContainer credentialsDataContainer, OAuthInformation oauthInfo, Credentials credentials)
   at Invantive.Data.ConnectionManager.GetOAuthTokenForConnection(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SerializableDatabase database, DataContainer dataContainer, ISupportsOAuth provider, Credentials credentials, Boolean ignoreDecryptionErrors, Boolean& decryptionErrorsOccurred)
   at Invantive.Data.ConnectionManager.RefreshOAuthToken(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IConnectionDataProvider provider, Boolean ignoreDecryptionErrors, Boolean& decryptionErrorsOccurred)
   at Invantive.Data.ConnectionManager.A(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep, IConnectionDataProvider)
   at Invantive.Data.Providers.OData.ODataWithOAuthProvider.AcquireOAuthAccessTokenUnlocked(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Data.Providers.OData.ODataWithOAuthProvider.Reauthenticate(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep)
   at Invantive.Data.Providers.OData.ODataWithOAuthProvider.AddAuthenticationToRequest(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, HttpWebRequest request)
   at Invantive.Data.Providers.Http.HttpBasedProvider.A(GlobalState, ExecutionOptions, SqlExecutionStep sqlExecutionStep, HttpWebRequest)
   at Invantive.Data.Providers.Http.HttpWorker.GetInternal(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IHttpBasedProvider self, String relativeUrl, Dictionary`2 headers, String mimeType, ObjectDefinition objectDefinition, QueryObject queryObject, String partitionCode, CacheSettings cacheSettings, String callSafeNameOverrule, Boolean allowRetryOnConnectionLoss, Boolean preventRetryOnAuthenticationFailure, ParameterList parameters, String dataContainerIdOverrule, String dataContainerAliasOverrule, Boolean throwExceptionOnNonSuccessfulStatusCode, ExecutionStatistics& executionStatisticsOut, ODataErrorProcessingInstructions& oDataErrorProcessingInstructions, String publicQueryParameters, Boolean authenticate)
   at Invantive.Data.Providers.OData.ODataProvider.GetAndDeserializeJson[T](GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String relativeUrl, ParameterList parameters, ExecutionStatistics& executionStatistics, ODataErrorProcessingInstructions& oDataErrorProcessingInstructions, ObjectDefinition objectDefinition, QueryObject queryObject, String partitionCode, CacheSettings cacheSettings, Boolean allowRetryOnConnectionLoss, Boolean preventRetryOnAuthenticationFailure, String mimeType, String callSafeNameOverrule, String dataContainerIdOverrule, String dataContainerAliasOverrule, String publicQueryParameters, Boolean authenticate, Dictionary`2 headers)
   at Invantive.Data.Providers.ExactOnline.ExactOnlineRestProvider.GetAndReadTextFromServiceResponse(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, List`1 rows, String basePath, List`1 allFieldTypes, String url, String partitionCode, ObjectDefinition objectDefinition, JsonDatabaseColumnDefinitionCollection fields, QueryObject queryObject, ParameterList parameters, Int32& pagesRetrieved, Int64& rowsRetrieved, AdditionalResultInformation additionalInfo, String callSafeNameOverrule, Boolean allowRetry, Boolean preventRetryOnAuthenticationFailure, HashSet`1 selectFields, ExecutionStatistics& executionStatistics, ODataErrorProcessingInstructions& oDataErrorProcessingInstructions, NamedArrayPool namedArrayPool)
   at Invantive.Data.Providers.ExactOnline.ExactOnlineRestProvider.FetchDataOnePartition(GlobalState owner, ExecutionOptions executionOptions, String serviceUrl, String partitionCode, String basePath, List`1 allFieldTypes, ObjectDefinition objectDefinition, JsonDatabaseColumnDefinitionCollection fields, QueryObject queryObject, ParameterList parameters, SqlExecutionStep sqlExecutionStep, String callSafeNameOverrule, HashSet`1 selectFields, NamedArrayPool namedArrayPool)+MoveNext()
   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext()
   at Invantive.Data.GenericProvider.ClientSideFilterNamedArrayRows(GlobalState owner, ExecutionOptions executionOptions, IEnumerable`1 namedArrayRows, IColumnDefinitionCollection retrievedFields, Int32 requestedFieldCount, Dictionary`2 allToVisibleColumns, Dictionary`2 filters, NamedArrayPool namedArrayPool, SparseArrayPool sparseArrayPool)+MoveNext()
   at Invantive.Data.ParallelSelectManyEnumerator`2.Read(GlobalState owner, ExecutionOptions executionOptions, TSource source)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
   at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
   at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
   at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetExistingTaskResult(Task`1 task, TResult result)
   at Invantive.Data.ThreadUtility.Delay(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, TimeSpan delay, String messageCodeOrigin, String descriptionOrigin, String partitionCode, String tableName, Int32 consecutiveSleeps)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
   at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
   at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
   at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetExistingTaskResult(Task`1 task, TResult result)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(TResult result)
   at Invantive.Basics.ThreadBasicUtility.Delay(GlobalState owner, ExecutionOptions executionOptions, TimeSpan delay, CancellationToken cancellationToken, String messageCodeOrigin, String descriptionOrigin, String partitionCode, String tableName, Int32 consecutiveSleeps)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
   at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
   at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
   at System.Threading.Tasks.Task.DelayPromise.CompleteTimedOut()
   at System.Threading.TimerQueue.FireNextTimers()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
   at System.Threading.Thread.StartCallback()
   at Invantive.Data.ParallelSelectManyEnumerator`2.System.Collections.IEnumerator.MoveNext()
   at Invantive.Sql.V1.DataSourceOrFunctionWithRotatorTree.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SparseArrayPool sparseArrayPool, QueryObject queryObject, ParameterList parameters)+MoveNext()
   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, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SqlExecutionStep parentStep, SparseArrayPool sparseArrayPool, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   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, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.CleanSparseArrayIterator.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SqlExecutionStep parentStep, SparseArrayPool sparseArrayPool, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.ChainedFirehose.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SqlExecutionStep parentStep, SparseArrayPool sparseArrayPool, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at System.Linq.Enumerable.IEnumerableSelectIterator`2.MoveNext()
   at Invantive.Sql.V1.GroupByIterator.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SqlExecutionStep parentStep, SparseArrayPool sparseArrayPool, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.SelectListIterator.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at a.q.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep sqlExecutionStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.FirehoseResultSet.GetDataEnumerator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SqlExecutionStep parentStep, SparseArrayPool sparseArrayPool, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   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, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   at Invantive.Sql.V1.MaterializeSparseArrayIterator.Iterator(GlobalState owner, ExecutionOptions executionOptions, IQueryStatePerExecution queryStatePerExecution, SparseArrayPool sparseArrayPool, SqlExecutionStep parentStep, ISparseArray outerRow, ISparseArray pSqlVariableRow, SqlColumnDefinitionCollection oldNewTriggerFields, ISparseArray oldTriggerRow, ISparseArray newTriggerRow, SqlColumnDefinitionCollection sourceTriggerFields, ISparseArray sourceTriggerRow)+MoveNext()
   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.ExecuteProviderPassthroughSqlAction(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String actionSql, ParameterList parameters, String callSafeNameOverrule)
--- End of stack trace from previous location ---
   at Invantive.Data.ConnectionManager.ExecuteProviderPassthroughSqlAction(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String actionSql, ParameterList parameters, String callSafeNameOverrule)
   at Invantive.Data.ConnectionManager.PassthroughSqlAction(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String actionSql, ParameterList parameters, String callSafeNameOverrule, String originCode)
--- End of stack trace from previous location ---
   at Invantive.Data.ConnectionManager.PassthroughSqlAction(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, String actionSql, ParameterList parameters, String callSafeNameOverrule, String originCode)
   at Invantive.Data.ConnectionManager.PassthroughSqlAction(GlobalState owner, ExecutionOptions executionOptions, String actionSql, ParameterList parameters, String callSafeNameOverrule, String originCode)
   at Invantive.Producer.Data.Hub.QueryEngine.ProcessStatement(GlobalState owner, ExecutionOptions executionOptions, SparseArrayPool sparseArrayPool, String statement, ResultSet& resultSet, Action`3 fetchMoreRows, Action`9 executeStatement, Boolean isInInteractiveMode, ScriptingLanguageNextStepSpecification& nextStepSpecification) in c:\smoke\ws-26.0\Invantive.Data.Hub\src\Invantive.Producer.Data.Hub\QueryEngine.cs:line 2555
2026-06-30 06:02:00.908 Information itgendhb223: End program execution with exit code 3.

After installing Invantive Data Hub Multi-Platform (26.0.164-PROD+5982) the itgencmr406
still present.

We catched the following error in one of our script:

itgencmr406:
Aucun fournisseur n’est disponible pour traiter la requête Get OAuth Token.
Veuillez contacter votre administrateur d’application.
(OAuthHeadless, InvantiveProducer, SqlServer (…), SqlServer (…), SqlServer (…), SqlServer (…), SqlServer (…), ExactOnlineAll (eol), TeamViewer, PostgreSql (****), KeePass, Mail, Ossus, Os, InMemoryStorage, DataDictionary, LastResort).

Whis error is not always happening. we have other script that runs fine.

After bit of testing, we have

  • one script that works always
  • one that produces this error always, at the very first statement querying Exact Online.

This is the one that produces the error:

use ****@eol, ****@eol, ****@eol, ****@eol, ****@eol, ****@eol, ****@eol, ****@eol, ****@eol, ****@eol, ****@eol, ****@eol, ****@eol, ****@eol;

Create or Replace procedure sendmail
( email_subject text
, email_body text
, email_recipients text
)
as
declare
l_error_txt varchar2;
l_error_cnt varchar2;
l_email_table varchar2;
begin
set smtp-host-address@mail ‘smtp.office365.com’;
set smtp-user-name@mail ‘user@mycompany.com’;
set smtp-password@mail ‘****’;
set [mail-from-name]@mail ‘systems’;
set [mail-from-email]@mail ‘reporting@mycompany.com’;
set smtp-enable-ssl@mail true;
set smtp-minimum-deliver-duration-ms@mail 1000;
set mail-body-html@mail true;
set mail-priority@mail 0;
begin
– sending email
insert into smtp@mail
( toEmail
, ccEmail
, bccEmail
, subject
, body
–, attachmentContents – starting PROD 20.2.112 use Attachment1Contents instead
–, attachmentName
–, attachmentMimeType
)
select email_recipients
toEmail
,      cast(null as varchar2)
ccEmail
,      cast(null as varchar2)
bccEmail
,      email_subject
subject
,      email_body
body
–,      null – rfe.file_contents
–       attachmentContents – starting PROD 20.2.112 use Attachment1Contents instead
–,      null – basename(‘{USER_MULTI_PARTIES_FILE_NAME}’)
–       attachmentName
–,      null – cast(null as varchar2)
–       attachmentMimeType
;
end;
end;

– leave a blank line above, otherweise the stored procedure conflicts with the sql block below.
declare
l_scriptstart datetime;
l_stmtstart datetime;
l_sqlresult INT;
l_log varchar2;
l_debug varchar2;
l_scriptsuccess boolean;
l_scriptduration varchar2;
l_emailrecipients text :=‘user1@mycompany.com,user2@mycompany.com’;
–l_emailrecipients text :=‘user1@mycompany.com’;
begin
l_scriptstart := sysdate;
l_debug := 'script started at ’ || l_scriptstart;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
create or replace table eol_rest_cashflowpaymentsbulk@sqlserver as select * from paymentsbulk@eol where EntryDate > dateadd(‘year’,-2,sysdate) and isbatchbooking = 1;
l_sqlresult := sqlrowcount;
l_debug := 'paymentsbulk@eol with filter on  EntryDate>(today-2 years) and isbatchbooking = 1 updated. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
create or replace table eol_rest_glaccountsbulk@sqlserver as select * from ExactOnlineREST.Financial.glaccountsbulk@eol;
l_sqlresult := sqlrowcount;
l_debug := 'ExactOnlineREST.Financial.glaccountsbulk@eol updated. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
create or replace table eol_rest_GlClassificationsBulk@sqlserver as select * from   ExactOnlineREST.Financial.GLClassificationsBulk@eol;
l_sqlresult := sqlrowcount;
l_debug := 'ExactOnlineREST.Financial.GLClassificationsBulk@eol updated. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
create or replace table eol_rest_GLAccountClassificationMappings@sqlserver as select * from  ExactOnlineREST.GLAccountClassificationMappings@eol;
l_sqlresult := sqlrowcount;
l_debug := 'ExactOnlineREST.GLAccountClassificationMappings@eol updated. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
create or replace table eol_xml_balancelines@sqlserver as select * from ExactOnlineXML.XML.BalanceLines@eol;
l_sqlresult := sqlrowcount;
l_debug := 'ExactOnlineXML.XML.BalanceLines@eol updated. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
–create or replace table eol_rest_accountsbulk@sqlserver as select * from  accountsbulk@eol;
create or replace table eol_rest_accountsbulk@sqlserver as select * from syncAccounts@eol where Timestamp >0 batchsize 50000; – adjust the batchsize (default: 3000)
– the sync statement run in approx 2 mins when cache is up to date. the Bulk runs in approx 5,2 minutes. 135710 records as of 26/06/2024.
– sync endpoint has a bit less info (156 vs 190 fields)
l_sqlresult := sqlrowcount;
l_debug := 'sync.account@eol updated via SYNC. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
create or replace table eol_rest_agingreceivableslist@sqlserver as select * from  AgingReceivablesList@eol;
l_sqlresult := sqlrowcount;
l_debug := 'AgingReceivablesList@eol updated. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
create or replace table eol_rest_agingpayableslist@sqlserver as select * from  AgingPayablesList@eol;
l_sqlresult := sqlrowcount;
l_debug := 'AgingPayablesList@eol updated. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
create or replace table eol_rest_ReportingBalance@sqlserver as select * from ReportingBalance@eol where reportingYear >= to_char(dateadd(‘year’,-2,sysdate),‘YYYY’) batchsize 50000; – adjust the batchsize (default: 3000)
l_sqlresult := sqlrowcount;
l_debug := 'ReportingBalance@eol with filter reportingYear on the last 3 years updated. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
create or replace table EOL_REST_CURRENTYEAR_OPENIGNBALANCE@sqlserver as select * from CurrentYearAfterEntry@eol;
l_sqlresult := sqlrowcount;
l_debug := 'CurrentYearAfterEntry@eol updated. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_stmtstart := sysdate;
create or replace table EOL_REST_PREVIOUSYEAR_OPENIGNBALANCE@sqlserver as select * from PreviousYearAfterEntry@eol;
l_sqlresult := sqlrowcount;
l_debug := 'PreviousYearAfterEntry@eol updated. duration: ’ || round((sysdate-l_stmtstart)6060*24,0) || 's. number of records: ’  || l_sqlresult;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);

l_scriptduration := round((sysdate-l_scriptstart)606024,0); – in seconds.
l_debug := 'script ends. Script total duration: ’ || l_scriptduration || ‘s.’;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);
sendmail(
– email subject here
‘synchronization script for eol tables except transactionlines: success.’
– email body here
,‘script status: OK.’ || ‘’
|| 'script start time: ’ || to_char(l_scriptstart, ‘YYYY-MM-DD HH24:MI:SS’) || ‘’
|| ‘script duration: ’ || l_scriptduration || ’ seconds.’ || ‘’
|| ‘full log below’ || ‘’
|| replace(l_log, chr(13), ‘’)
– recipients here
,l_emailrecipients
);
exception
when others
then
l_debug := 'Error catched in exception: ’ || chr(13) || sqlerrm;
dbms_output.put_line(l_debug); l_log := l_log || sysdate || ’ ’ || l_debug || chr(13);
l_scriptsuccess := false;
l_scriptduration := round((sysdate-l_scriptstart)606024,0); – in seconds. computed again here because exception skipped it.
sendmail(
– email subject here
‘synchronization script for eol tables except transactionlines: ERROR. An sql exception occured.’
– email body here
,‘script status: ERROR. An sql exception occured.’ || ‘’
|| 'script start time: ’ || to_char(l_scriptstart, ‘YYYY-MM-DD HH24:MI:SS’) || ‘’
|| ‘script duration: ’ || l_scriptduration || ’ seconds.’ || ‘’
|| ‘full log below’ || ‘’
|| replace(l_log, chr(13), ‘’)
– recipients here
,l_emailrecipients
);
end;

Een probleem met herauthenticatie is opgelost in 26.0.167. Deze versie staat nu klaar als “current” download op: