Itgenrst007 fout bij verversen ExactOnlineREST.Incremental.AccountsIncremental

Sinds enkele weken lukt het niet meer om Powerbi te verversen omdat de ExactOnlineREST.Incremental.AccountsIncremental tabel een foutmelding geeft. Vervolgens verversen ook alle andere tabellen niet tenzij ik ze allemaal apart ververs.

Als ik enkel de accounts ververs krijg ik de volgende fout:

OLE DB- of ODBC-fout: [DataSource.Error] OData:
Aanvraag mislukt:
De externe server heeft een fout geretourneerd: (500)
Interne serverfout.
(itgenrst007:
De metadata van de kolommen ‘AutomaticProcessProposedEntry’ van tabel ‘’ geven aan dat null-waardes niet mogen voorkomen, maar er is een null-waarde in rij #70.
Zorg ervoor dat de nullable-eigenschap in de metagegevens overeenkomt met de waarden.
(Blocked (Boolean, metadata boolean): False, CanDropShip (Boolean, metadata boolean): False, Code (String, metadata string): 22…Time, metadata datetime): 01/12/2016 00:00:00, Timestamp (Int64, metadata int64): 4853773664, Type (String, metadata string):

Uit andere forumvragen begrijp ik dat dit er waarschijnlijk geen/verkeerde tekens in de kolommen staan (in kolommen AutomaticProcessProposedEntry en CanDropShip?).

In Exact Online heb ik gezocht of ik dit bij de bron kan aanpakken door het direct in de relatiegegevens aan te passen. Het lijkt er op dat ik deze gegevens in Exact niet kan aanpassen. CanDropShip/Kan Drop Shipment lijkt bijvoorbeeld in onze module helemaal niet voor te komen.

Wat is de beste manier om dit op te lossen zonder dit in het bronpakket te doen?

De AutomaticProcessProposedEntry en CanDropShip-gegevens gebruiken we helemaal niet, en ik vroeg me af of ik het probleem kan oplossen door bijvoorbeeld deze kolommen direct in de Startup SQL uit te sluiten, en zo ja, wat hier de beste manier voor is. Andere manieren hoor ik uiteraard ook graag.

De volledige foutmelding is te vinden in Systeemberichten:

itgenrst007
De metadata van de kolommen ‘AutomaticProcessProposedEntry’ van tabel ‘’ geven aan dat null-waardes niet mogen voorkomen, maar er is een null-waarde in rij #70.
Zorg ervoor dat de nullable-eigenschap in de metagegevens overeenkomt met de waarden.

voor AccountsIncremental. Call stack:

Invantive.Basics.InvantiveSqlException
   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.Basics.InvantiveSqlException..ctor(GlobalState owner, ExecutionOptions executionOptions, String validationCode, String errorMessage, String kindRequest, String stackTrace, String nk, Exception innerException, Boolean inheritMessageCodeWhenPresent, Nullable`1 uid, Boolean isRecoverable, String poolIdentityId, String partitionCode, String tableName, String parameter1, String parameter2, String parameter3, String parameter4, String parameter5, String clientId)
   at Invantive.Data.SqlUtility.CheckRow(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IProviderManager manager, ISparseArray row, IColumnDefinitionCollection fields, Nullable`1 rowNumberContext, ObjectDefinition objectDefinition, String sqlStatement, Boolean isFromDml, String operationType, String fullTableNameOverrule, Rst004Mode rst004Mode, Boolean disableRst007, Boolean disableRst009, Boolean disableRst011AndOrRst013, Boolean disableRst046, Boolean disableRst054)
   at Invantive.Sql.V1.QueryPlan.CorrectAndCheckData(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, SparseArrayPool sparseArrayPool, IEnumerable`1 data, String sqlStatement)+MoveNext()
   at Invantive.Data.ExtensionMethods.IteratorWithFinally`1.IteratorWithFinallyEnumerator.MoveNext()
   at Invantive.Data.ConnectionManager.TopOffFreemium(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep sqlExecutionStep, IEnumerable`1 data)+MoveNext()
   at Invantive.Data.ExtensionMethods.IteratorWithFinally`1.IteratorWithFinallyEnumerator.MoveNext()
   at Invantive.Data.ParallelAsyncSelectManyEnumerator`2.Read(GlobalState owner, ExecutionOptions executionOptions, TSource source)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Invantive.Data.ParallelAsyncSelectManyEnumerator`2.<>c__DisplayClass41_0.<<MoveNextAsync>b__0>d.MoveNext()
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Invantive.Data.ParallelAsyncSelectManyEnumerator`2.<>c__DisplayClass41_0.<MoveNextAsync>b__0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   at Invantive.Data.ParallelAsyncSelectManyEnumerator`2.MoveNextAsync()
   at Invantive.Data.ExtensionMethods.AsyncIteratorWithFinally`1.AsyncIteratorWithFinallyEnumerator.MoveNextAsync()
   at Invantive.Bridge.Online.Controllers.OData4Controller.GetData(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep masterSqlExecutionStep, BridgeDataContext bridgeDataContext, HttpContext httpContext, IInvantiveCentralizedMonitoring monitoring, IInvantiveResponseCache responseCache, IInvantiveRequestStatistics requestStatisticsService, BridgeConfig config, YieldedResultSet yieldedResultSet, InvantiveEdmEntityType entityType, EdmModelMappings edmModelMappings, ObjectDefinition requestedObjectDefinition, String url, Nullable`1 maxRowsPerQuery, Boolean anonymizeStrings, Boolean anonymizePersonData, String billingId, String sqlSelectStatement, String loggingTableName, String databaseSegment, ParameterList sqlSelectParameters, Boolean preferOmitNullValues, Nullable`1 demoModeStartDateUtc, SparseArrayPool sparseArrayPool, CancellationToken cancellationToken)+MoveNext() in c:\smoke\ws-25.0\Invantive.Bridge.Online\src\Invantive.Bridge.Online\Controllers\OData4Controller.cs:line 2895
   at Invantive.Bridge.Online.Controllers.OData4Controller.GetData(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep masterSqlExecutionStep, BridgeDataContext bridgeDataContext, HttpContext httpContext, IInvantiveCentralizedMonitoring monitoring, IInvantiveResponseCache responseCache, IInvantiveRequestStatistics requestStatisticsService, BridgeConfig config, YieldedResultSet yieldedResultSet, InvantiveEdmEntityType entityType, EdmModelMappings edmModelMappings, ObjectDefinition requestedObjectDefinition, String url, Nullable`1 maxRowsPerQuery, Boolean anonymizeStrings, Boolean anonymizePersonData, String billingId, String sqlSelectStatement, String loggingTableName, String databaseSegment, ParameterList sqlSelectParameters, Boolean preferOmitNullValues, Nullable`1 demoModeStartDateUtc, SparseArrayPool sparseArrayPool, CancellationToken cancellationToken)+MoveNext() in c:\smoke\ws-25.0\Invantive.Bridge.Online\src\Invantive.Bridge.Online\Controllers\OData4Controller.cs:line 2895
   at Invantive.Bridge.Online.Controllers.OData4Controller.GetData(GlobalState owner, ExecutionOptions executionOptions, SqlExecutionStep masterSqlExecutionStep, BridgeDataContext bridgeDataContext, HttpContext httpContext, IInvantiveCentralizedMonitoring monitoring, IInvantiveResponseCache responseCache, IInvantiveRequestStatistics requestStatisticsService, BridgeConfig config, YieldedResultSet yieldedResultSet, InvantiveEdmEntityType entityType, EdmModelMappings edmModelMappings, ObjectDefinition requestedObjectDefinition, String url, Nullable`1 maxRowsPerQuery, Boolean anonymizeStrings, Boolean anonymizePersonData, String billingId, String sqlSelectStatement, String loggingTableName, String databaseSegment, ParameterList sqlSelectParameters, Boolean preferOmitNullValues, Nullable`1 demoModeStartDateUtc, SparseArrayPool sparseArrayPool, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at System.Threading.Tasks.TaskAsyncEnumerableExtensions.ToBlockingEnumerable[T](IAsyncEnumerable`1 source, CancellationToken cancellationToken)+MoveNext()
   at Invantive.Bridge.Online.StreamingEdmEntityObjectCollection..ctor(GlobalState owner, ExecutionOptions executionOptions, IEdmCollectionTypeReference edmType, IEnumerable`1 list) in c:\smoke\ws-25.0\Invantive.Bridge.Online\src\Invantive.Bridge.Online\Logic\OData\StreamingEdmEntityObjectCollection.cs:line 54
   at Invantive.Bridge.Online.Controllers.OData4Controller.Get(String databaseSegmentFromRequest) in c:\smoke\ws-25.0\Invantive.Bridge.Online\src\Invantive.Bridge.Online\Controllers\OData4Controller.cs:line 1078
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at NSwag.AspNetCore.Middlewares.SwaggerUiIndexMiddleware.Invoke(HttpContext context)
   at NSwag.AspNetCore.Middlewares.RedirectToIndexMiddleware.Invoke(HttpContext context)
   at Invantive.Bridge.Online.Startup.RaiseHttp401OnFailedBasicAuthentication(HttpContext ctx, Func`1 next) in c:\smoke\ws-25.0\Invantive.Bridge.Online\src\Invantive.Bridge.Online\Startup.Middleware.cs:line 638
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Invantive.Web.Core.InvantiveExceptionLoggerMiddleware.Invoke(HttpContext httpContext, IDataContextService dataContextService)

Het betreft uitsluitend de kolom AutomaticProcessProposedEntry. Deze is altijd verplicht geweest, maar schijnbaar is dit veranderd.

De kolom bestaat in zes Exact Online-tabellen. Vanaf release 25.0.96 zal deze als optioneel behandeld worden.

Gelieve na in productiename nogmaals te proberen.