DataSync
Cette rubrique décrit les étapes de résolution de problèmes avec DataSync.
Lors d'une opération Charger tout, certains utilisateurs reçoivent le message d'erreur suivant :
LoadAll completed with errors: Impossible to load data to <Customers>., InnerMessage: Impossible to load data to <Customers>. -> Could not load file or assembly 'Microsoft.SqlServer.Types, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'. Le fichier spécifié est introuvable.
2020-08-06 10:56:23.041 -04:00 [ERR] Could not load file or assembly 'Microsoft.SqlServer.Types, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'. Le fichier spécifié est introuvable. System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.Types, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'. Le fichier spécifié est introuvable. File name: 'Microsoft.SqlServer.Types, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, IntPtr ptrLoadContextBinder) at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, IntPtr ptrLoadContextBinder) at System.Reflection.Assembly.Load(AssemblyName assemblyRef) at System.Data.SqlClient.SqlConnection.ResolveTypeAssembly(AssemblyName asmRef, Boolean throwOnError) at System.TypeNameParser.ResolveAssembly(String asmName, Func`2 assemblyResolver, Boolean throwOnError, StackCrawlMark& stackMark) at System.TypeNameParser.ConstructType(Func`2 assemblyResolver, Func`4 typeResolver, Boolean throwOnError, Boolean ignoreCase, StackCrawlMark& stackMark) at System.TypeNameParser.GetType(String typeName, Func`2 assemblyResolver, Func`4 typeResolver, Boolean throwOnError, Boolean ignoreCase, StackCrawlMark& stackMark) at System.Type.GetType(String typeName, Func`2 assemblyResolver, Func`4 typeResolver, Boolean throwOnError) at System.Data.SqlClient.SqlConnection.CheckGetExtendedUDTInfo(SqlMetaDataPriv metaData, Boolean fThrow) at System.Data.SqlClient.SqlDataReader.GetValueFromSqlBufferInternal(SqlBuffer data, SqlMetaData metaData) at System.Data.SqlClient.SqlDataReader.GetValue(Int32 i) at DBProviders.BaseProvider.RecordReaderOfArrayOfFastExpando(IDataReader reader, List`1 metadata) at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceFromReader[T](DbTranslateResult translateResult, ITargetBlock`1 consumerHeadBlock, CancellationToken cancellationToken) at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceForLoadAll[T](SqlReadableForDataLoad sqlObject, ITargetBlock`1 consumerHeadBlock, CancellationToken cancellationToken) at DataSyncQueryExecutor.ExecutorExtensions.ProduceForLoadAll[T](ConnectionDefinitionForDataLoad connectionDetails, SqlReadableForDataLoad sqlObject, ITargetBlock`1 consumerHeadBlock, CancellationToken cancellationToken) at DataSynchronizer.SqlObjectForSynchronization.<>cDisplayClass3_0.<<LoadAll>b_0>d.MoveNext() — End of stack trace from previous location where exception was thrown — at DataSynchronizer.BaseSqlObjectSynchronizer.ProduceAndConsume(Func`2 producerCallback, JobAction actionType, CancellationToken cancellationToken) at DataSynchronizer.SqlObjectForSynchronization.LoadAll(CancellationToken cancellationToken)
Solution
Ces erreurs sont causées par une inadéquation du type de base de données dans l'un des champs de votre table. Pour résoudre ce problème, il suffit de supprimer la coche dans la colonne Sync à côté de la table problématique (il y aura un X rouge dans la colonne Type de Destination, comme le montre l'image ci-dessous). Lorsque vous tentez à nouveau votre opération de chargement, vous ne devriez plus recevoir le message d'erreur.
Lors de la première tentative d'utilisation de DataSync après son installation, certains utilisateurs reçoivent le message d'erreur suivant :
Solution
Cette erreur se produit généralement lorsque les utilisateurs ont téléchargé et installé manuellement une mauvaise version de .NET Core (y compris le SDK).
Pour résoudre ce problème :
-
Désinstallez DataSync ainsi que tous les paquets .NET Core que vous avez actuellement installés.
-
Redémarrez votre serveur.
-
Réinstallez DataSync. Le processus d'installation de DataSync installera automatiquement la version correcte de .NET Core, ce qui devrait résoudre le problème.
Voir la section Configuration requise pour le système pour plus d'informations sur les exigences d'installation de DataSync.
Parfois, les utilisateurs sont incapables de créer des connexions SharePoint dans DataSync si l'authentification à deux facteurs est activée dans leur configuration.
Solution
Supprimez l'authentification à deux facteurs de votre configuration SharePoint en suivant les étapes ci-dessous :
-
Connectez-vous à SharePoint et accédez au menu Paramètres du compte.
-
Dans le menu Paramètres du compte, cliquez sur l'option Vérification de sécurité supplémentaire en bas du volet Infos sur la sécurité.
-
Sélectionnez l'option Mots de passe des applications (illustrée ci-dessous), et créez un nouveau mot de passe pour DataSync. Désormais, l'authentification à deux facteurs ne sera plus nécessaire pour se connecter à DataSync.
Après avoir tenté d'enregistrer une connexion ProvideX, l'interface utilisateur commence à tourner en boucle et n'enregistre pas la configuration de la connexion.
Solution
Pour résoudre ce problème, vous devez changer votre pool d'applications DataSync dans le Gestionnaire IIS pour un utilisateur Windows ou domaine qui a accès au chemin partagé de Sage 100.
Pour ce faire :
-
Ouvrez le Gestionnaire IIS et sélectionnez Pools d'applications.
-
Dans la liste des pools d'applications, cliquez avec le bouton droit de la souris sur DataSyncIdentity et sélectionnez Paramètres avancés dans la liste déroulante.
-
Localisez la section Modèle de processus et changez l'identité du pool d'applications de Compte intégré à Compte personnalisé (comme indiqué ci-dessous). Cliquez sur OK. Cela devrait résoudre le problème de bouclage de l'interface utilisateur dans DataSync.
-
Répétez l'étape ci-dessus pour tous les pools d'applications DataSync.
Cette divergence occasionnelle dans la synchronisation des données peut être due à la représentation d'un champ Date en tant que DateTime dans DataSync. Lors de la comparaison de deux types de données distincts, des incohérences dans les dates comparées peuvent entraîner des lignes manquantes au cours des processus de chargement ou de suppression.
Pour vérifier si un champ n'est pas correctement converti dans DataSync, utilisez la fonction "Aperçu des données" pour vérifier si toutes les entrées de date contiennent une valeur temporelle de "0:00:00" dans toutes les lignes. Vous pouvez également consulter la documentation de la table pour confirmer le type de données utilisé pour le champ spécifique.
Solution
Pour rectifier cette anomalie, il est essentiel de créer un champ personnalisé qui définit explicitement le champ comme étant une date. Ensuite, utilisez ce champ personnalisé comme clé de suivi ou comme champ de chargement par partition pour un processus de synchronisation des données transparent.
Lors d'une opération Charger tout, certains utilisateurs reçoivent le message d'erreur suivant :
System.Data.CData.SageIntacct.SageIntacctException (0x80004005): [500] Could not execute the specified command: . You do not have permission for API operation READ_BY_QUERY on objects of type xyz . ---> cta230S.QdY: . You do not have permission for API operation READ_BY_QUERY on objects of type xyz
at cta230S.QTP.LO(String , QdW )
at cta230S.QTP.v()
at cta230S.QTE.ZN(QdW )
at cta230S.FTo.m(Qdn , FTk )
at cta230S.FTk.g(FEk , FTW , FEv , FTW , FTW , String )
at cta230S.FTk.F(Qdn , FTW , FEv , FTW , FTW )
at cta230S.FYn.P(String , Qdn , QdU , QdI )
at cta230S.FYn.bL(Qdn , QdU , QdI )
at cta230S.Qbd.ZN(QdW )
at cta230S.FTo.m(Qdn , FTk )
at cta230S.FYU.F(FYU , FTk )
at cta230S.FYU.yCj(FTk )
at cta230S.FbY.X(FTk )
at cta230S.FbY.g(FbY , FTk )
at cta230S.FbY.yCj(FTk )
at cta230S.FbY.X(FTk )
at cta230S.FbY.g(FbY , FTk )
at cta230S.FbY.yCj(FTk )
at cta230S.FdT.yCh(FTk )
at cta230S.Pdx.fj(QdW , Pds )
at cta230S.FQQ.yyV()
at cta230S.PzW.R(PYx , PoQ )
at cta230S.Pzs.yUx()
at cta230S.PzW.yyw()
at cta230S.FQs.jK(SQLQuery , Int32 , Pgm )
at cta230S.FQs.yQ(IDataStatement , SQLQuery , QueryParameterCollection , Int32 , String , Foc )
at cta230S.FQb.ExecuteQuery(IDataStatement , QueryParameterCollection , Int32 )
at cta230S.PAI.ExecuteQuery(IDataStatement , QueryParameterCollection , Int32 )
at cta230S.PYn.yyA(QueryParameterCollection )
Solution
Il s'agit d'un problème de configuration dans Sage Intacct. L'utilisateur défini dans DataSync pour lire les données de Sage Intacct n'a pas la permission de lire l'objet spécifié. La permission de l'utilisateur doit être définie dans Sage Intacct.
Lors d'une opération Charger tout, certains utilisateurs reçoivent le message d'erreur suivant :
fao220F.XcB: HTTP protocol error. 401 Unauthorized. ---> fao220F.XcB: HTTP protocol error. 401 Unauthorized. ---> fao220F.XcB: HTTP protocol error. 401 Unauthorized. ---> fao220F.XcB: HTTP protocol error. 401 Unauthorized. ---> fao220F.gQP: HTTP protocol error. 401 Unauthorized. ---> fao220F.gQP: HTTP protocol error. 401 Unauthorized.
at fao220F.ggd.ye(Exception )
at fao220F.ggd.ym(String )
at fao220F.ggd.yL(String )
at fao220F.MAH.zI(MZu )
--- End of inner exception stack trace ---
at fao220F.XgX.mr(XBs )
at fao220F.MTR.E(XcY , MTX )
--- End of inner exception stack trace ---
at fao220F.MTR.E(XcY , MTX )
at fao220F.MTX.D(MFX , MTN , Mil , MTN , MTN , String )
at fao220F.MTX.p(XcY , MTN , Mil , MTN , MTN )
at fao220F.MiO.X(String , XcY , XcN , XBP )
at fao220F.MiO.dK(XcY , XcN , XBP )
at fao220F.XMY.b(XBs , MPA`1 , Object , XcN , XBP )
at fao220F.XMd.s(XBs )
at fao220F.MTR.E(XcY , MTX )
Solution
Lorsque l'on appelle l'API, elle n'est pas accessible. Il s'agit peut-être d'une configuration de la connexion dans Datasync. Cela peut se produire avec n'importe quelle connexion API telle que Sage Intacct, Custom API, etc.
Lors d'une opération Charger tout, certains utilisateurs reçoivent le message d'erreur suivant :
System.Data.CData.SageIntacct.SageIntacctException (0x80004005): [500] Could not execute the specified command: [BL03002069] . The period selected is not valid [Support ID: XiCdvEB033%7EZqp6jP075jv-2UHWG0rrjAAAAAU]. ---> cta230S.QdY: [BL03002069] . The period selected is not valid [Support ID: XiCdvEB033%7EZqp6jP075jv-2UHWG0rrjAAAAAU].
at cta230S.QTP.LO(String , QdW )
at cta230S.QTP.v()
at cta230S.QTE.ZN(QdW )
at cta230S.FTo.m(Qdn , FTk )
at cta230S.FTk.g(FEk , FTW , FEv , FTW , FTW , String )
at cta230S.FTk.F(Qdn , FTW , FEv , FTW , FTW )
at cta230S.FYn.P(String , Qdn , QdU , QdI )
at cta230S.FYn.bL(Qdn , QdU , QdI )
at cta230S.Qbd.ZN(QdW )
at cta230S.FTo.m(Qdn , FTk )
at cta230S.FYU.F(FYU , FTk )
at cta230S.FYU.yCj(FTk )
at cta230S.FbY.X(FTk )
at cta230S.FbY.g(FbY , FTk )
at cta230S.FbY.yCj(FTk )
at cta230S.FbY.X(FTk )
at cta230S.FbY.g(FbY , FTk )
at cta230S.FbY.yCj(FTk )
at cta230S.FdT.yCh(FTk )
at cta230S.Pdx.fj(QdW , Pds )
at cta230S.FQQ.yyV()
at cta230S.PzW.R(PYx , PoQ )
at cta230S.Pzs.yUx()
at cta230S.PzW.yyw()
at cta230S.PzY.yyw()
at cta230S.FQs.jK(SQLQuery , Int32 , Pgm )
at cta230S.FQs.yQ(IDataStatement , SQLQuery , QueryParameterCollection , Int32 , String , Foc )
at cta230S.FQb.ExecuteQuery(IDataStatement , QueryParameterCollection , Int32 )
at cta230S.PAI.ExecuteQuery(IDataStatement , QueryParameterCollection , Int32 )
at cta230S.PYn.yyA(QueryParameterCollection )
at
System.Data.CData.SageIntacct.SageIntacctCommand.ExecuteDataReader(CommandBehavior behavior)
at Shared.Objects.ThreadUtils.RetryAsync[T](Func`1 action, TimeSpan retryWait, Int32 retryCount, Boolean increaseRetryWait, Func`2 exceptionPredicate, CancellationToken cancellationToken)
at DBProviders.DbCommandExtensions.GetReaderAsync(IDbCommand command, CommandBehavior commandBehavior, Int32 retryWaitSeconds, Int32 retryCount, CancellationToken cancellationToken, Boolean printParameter)
at
DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceFromReaderWithCount[T](DbTranslateResult translateResult, ITargetBlock`1 consumerHeadBlock, Int32 retryCount, Int32 retryWaitSeconds, CancellationToken cancellationToken)
Solution
Cela peut se produire lorsque la période définie dans l'extraction n'est pas valide. Ce message d'erreur est renvoyé par Sage Intacct.
Lors d'une opération Charger tout, certains utilisateurs reçoivent le message d'erreur suivant :
System.Data.CData.SageIntacct.SageIntacctException (0x80004005): [500] Could not execute the specified command: [Given docparid does not exist.] . [Support ID: kOgmmEB032%7EZqE78P0r4CpGlkWbLJbnAAAAAo]. ---> cta230K.ujj: [Given docparid does not exist.] . [Support ID: kOgmmEB032%7EZqE78P0r4Cp-GlkWbLJbnAAAAAo].
at cta230K.uXF.Fm(String , ujK )
at cta230K.uXF.Er()
at cta230K.sXO.jF(ujZ , sXd )
at cta230K.sXd.M(sOd , sXg , snW , sXg , sXg , String )
at cta230K.sXd.i(ujZ , sXg , snW , sXg , sXg )
at cta230K.snb.M(String , ujZ , ujT , ujP )
at cta230K.snb.dO(ujZ , ujT , ujP )
at cta230K.ubj.zl(ujK )
at cta230K.sXO.jF(ujZ , sXd )
at cta230K.snK.R(snK , sXd )
at cta230K.snK.tUd(sXd )
at cta230K.sbQ.V(sXd )
at cta230K.sbQ.A(sbQ , sXd )
at cta230K.sbQ.tUd(sXd )
at cta230K.sbQ.V(sXd )
at cta230K.sbQ.A(sbQ , sXd )
at cta230K.sbQ.tUd(sXd )
at cta230K.sjP.tUs(sXd )
at cta230K.gjO.M(ujK , gjj )
at cta230K.suR.ttI()
at cta230K.gZA.e(gnX , gTs )
at cta230K.gZP.tIN()
at cta230K.gZA.ttj()
at cta230K.suv.H(SQLQuery , Int32 , gWc )
at cta230K.suv.tE(IDataStatement , SQLQuery , QueryParameterCollection , Int32 , String , sTT )
at cta230K.suO.ExecuteQuery(IDataStatement , QueryParameterCollection , Int32 )
at cta230K.giP.ExecuteQuery(IDataStatement , QueryParameterCollection , Int32 )
at cta230K.gOR.tth(QueryParameterCollection )
at System.Data.CData.SageIntacct.SageIntacctCommand.ExecuteDataReader(CommandBehavior
behavior)
at Shared.Objects.ThreadUtils.RetryAsync[T](Func`1 action, TimeSpan retryWait, Int32 retryCount, Boolean increaseRetryWait, Func`2 exceptionPredicate, CancellationToken cancellationToken)
at DBProviders.DbCommandExtensions.GetReaderAsync(IDbCommand command, CommandBehavior commandBehavior, Int32 retryWaitSeconds, Int32 retryCount, CancellationToken cancellationToken, Boolean printParameter)
at
DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceFromReaderWithCount[T](DbTranslateResult translateResult, ITargetBlock`1 consumerHeadBlock, Int32
retryCount, Int32 retryWaitSeconds, CancellationToken cancellationToken)
Solution
Le docparid est censé être défini dans la connexion. Suivez les étapes de la section Configurer les connexions.
System.Data.CData.SageIntacct.SageIntacctException (0x80004005): [500] Could not execute the specified command: [Given docparid does not exist.] ….
Solution
Lorsque l'erreur contient le code d'erreur 500, cela peut être dû au fait que l'appel à l'API de la connexion source n'a pas été entièrement compris par l'API. Revérifiez toute la configuration de la connexion source pour vous assurer que l'API est appelée correctement.
Solution
Cette erreur se produit lorsque l'une des partitions génère une erreur lors du chargement par partition.
Solution
Cette erreur se produit lorsque certaines API ont des délais d'exécution prédéfinis au cas où la réponse prendrait plus de temps que prévu pour être traitée par la connexion source. Par exemple, Sage Intacct a un délai d'attente de 15 minutes sur sa passerelle. En cas de dégradation des performances de l'API source, un ticket doit être soumis dans Sage Intacct.
cta230S.QdY: Error retrieving data from server - 502 Bad Gateway. ---> cta230S.QdY: Error retrieving data from server - 502 Bad Gateway. ---> cta230S.QdY: Error retrieving data from server - 502 Bad Gateway.
at cta230S.QTE.ZN(QdW )
at cta230S.FTo.m(Qdn , FTk )
at cta230S.FTk.g(FEk , FTW , FEv , FTW , FTW , String )
at cta230S.FTk.F(Qdn , FTW , FEv , FTW , FTW )
at cta230S.FYn.P(String , Qdn , QdU , QdI )
at cta230S.FYn.bL(Qdn , QdU , QdI )
at cta230S.Qbd.ZN(QdW )
at cta230S.FTo.m(Qdn , FTk )
at cta230S.FYU.F(FYU , FTk )
at cta230S.FYU.yCj(FTk )
at cta230S.FbY.X(FTk )
at cta230S.FbY.g(FbY , FTk )
at cta230S.FbY.yCj(FTk )
at cta230S.FbY.X(FTk )
at cta230S.FbY.g(FbY , FTk )
at cta230S.FbY.yCj(FTk )
at cta230S.FdT.yCh(FTk )
at cta230S.Pdx.fj(QdW , Pds )
at cta230S.FQQ.yyV()
at cta230S.PzW.R(PYx , PoQ )
at cta230S.Pzs.yUx()
at cta230S.PzW.yyw()
at cta230S.Fmg.l()
--- End of inner exception stack trace ---
at cta230S.Fmg.l()
at cta230S.Fmg.v()
at cta230S.Fml.Next()
--- End of inner exception stack trace ---
at cta230S.Fml.Next()
at cta230S.Fmz.Next()
at cta230S.TY.Read()
at System.Data.Common.DbDataReader.ReadAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.RetrieveCleanDeletesDataAsync(DbTranslateResult translateResult, CancellationToken cancellationToken)
at DataSyncQueryExecutor.System_Data_CData_SageIntacct_DataSyncExecutor.<>c__DisplayClass2_0.<<RetrieveCleanDeletesDataAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at DataSyncQueryExecutor.System_Data_CData_SageIntacct_DataSyncExecutor.RetrieveCleanDeletesDataAsync(DbTranslateResult translateResult, CancellationToken cancellationToken)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.GetSourceDataForCleanDeletesAsync(SqlReadableForDataLoad sqlObject, DateTimeOffset dateTimeOffSet, CancellationToken cancellationToken)
at DataSyncQueryExecutor.ExecutorExtensions.GetSourceDataForCleanDeletesAsync(ConnectionDefinitionForDataLoad sourceConnection, SqlReadableForDataLoad sqlObject, IServiceProvider provider, DateTimeOffset dateTimeOffSet, CancellationToken cancellationToken)
at DataSynchronizer.BaseSqlObjectSynchronizer.CreateCleanDeletesDictionary(DateTimeOffset dateTimeOffSet, SourceOrDestination sourceOrDestination, CancellationToken cancellationToken)
at DataSynchronizer.BaseSqlObjectSynchronizer.GetDataForCleanDeletes(DateTimeOffset startDate, SourceOrDestination sourceOrDestination, CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.CleanDeletes(Nullable`1 deleteCleaningDaysInterval, CancellationToken cancellationToken)
Solution
Cette erreur est déclenchée par Sage Intacct lorsque la qualité des performances de l'API est réduite ou lorsque le delai d'exécution maximum est atteint sur la passerelle Sage Intacct. En général, cela se produit lorsque beaucoup de données sont chargées en même temps et que les performances de l'API de Sage Intacct sont réduites.
fao220F.XcB: Error obtaining value '0.0000,50.6400' for column 'Discrepancy'. Failed to convert to datatype: 'decimal'. The original datatype of the column is: 'decimal'. Original Exception: Error parsing decimal value [0.0000,50.6400]. ---> fao220F.XcB: Error obtaining value '0.0000,50.6400' for column 'Discrepancy'. Failed to convert to datatype: 'decimal'. The original datatype of the column is: 'decimal'. Original Exception: Error parsing decimal value [0.0000,50.6400]. ---> fao220F.XcB: Error parsing decimal value [0.0000,50.6400].
at fao220F.gTW.i(String , Int32 )
at fao220F.gTW.i(String , Int32 , Int32 , Boolean )
at fao220F.gJO.dy(String , Int32 , Int32 )
at fao220F.Mcg.t(Int32 , Int32 , Int32 )
--- End of inner exception stack trace ---
at fao220F.Mcg.t(Int32 , Int32 , Int32 )
at fao220F.gHQ.Evaluate(FormulaEvaluationContext , IResultSet )
at fao220F.McQ.X(Int32 , Int32 , Int32 )
--- End of inner exception stack trace ---
at fao220F.McQ.X(Int32 , Int32 , Int32 )
at fao220F.JZ.GetValue(Int32 )
at DBProviders.BaseProvider.RecordReaderOfArrayOfFastExpando(IDataReader reader, List`1 metadata)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceFromReaderWithCount[T](DbTranslateResult translateResult, ITargetBlock`1 consumerHeadBlock, Int32 retryCount, Int32 retryWaitSeconds, CancellationToken cancellationToken)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceFromReader[T](DbTranslateResult translateResult, ITargetBlock`1 consumerHeadBlock, Int32 retryCount, Int32 retryWaitSeconds, CancellationToken cancellationToken)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceForRefresh[T](SqlReadableForDataLoad sqlObject, DateTimeOffset lastSuccessDate, ITargetBlock`1 consumerHeadBlock, CancellationToken cancellationToken)
at DataSyncQueryExecutor.ExecutorExtensions.ProduceForRefresh[T](ConnectionDefinitionForDataLoad connectionDetails, SqlReadableForDataLoad sqlObject, IServiceProvider provider, DateTimeOffset lastSuccessDate, ITargetBlock`1 consumerHeadBlock, CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.<>c__DisplayClass5_0.<<Refresh>b__4>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at DataSynchronizer.BaseSqlObjectSynchronizer.ProduceAndConsume(Func`2 producerCallback, JobAction actionType, CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.Refresh(Nullable`1 lastSuccessDate, CancellationToken cancellationToken)
Solution
Cette erreur peut se produire lorsque les données utilisées pour filtrer ne sont pas du type attendu.
Ex : Dans SXA, des données sont parfois renvoyées au format (données non valides) 0.0000,50.6400. Il est clair que les données doivent être scindées pour représenter une valeur décimale.
System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'OSINY.Class'.
at Shared.Objects.ThreadUtils.RetryAsync[T](Func`1 action, TimeSpan retryWait, Int32 retryCount, Boolean increaseRetryWait, Func`2 exceptionPredicate, CancellationToken cancellationToken)
at DBProviders.DbCommandExtensions.GetReaderAsync(IDbCommand command, CommandBehavior commandBehavior, Int32 retryWaitSeconds, Int32 retryCount, CancellationToken cancellationToken, Boolean printParameter)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.IsThereDataInDestinationTableAsync(SqlReadableForDataLoad sqlObject, CancellationToken cancellationToken)
at DataSyncQueryExecutor.ExecutorExtensions.IsThereDataInDestinationTableAsync(ConnectionDefinitionForDataLoad connectionDetails, SqlReadableForDataLoad sqlObject, IServiceProvider provider, CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.CleanDeletes(Nullable`1 deleteCleaningDaysInterval, CancellationToken cancellationToken)
ClientConnectionId:0f18e464-d389-433d-8bad-4f5df9a0f1f3
Error Number:208,State:1,Class:16
ClientConnectionId before routing:1da282a4-6c6a-4b9e-8eb9-35004a5231e6
Routing Destination:a231d149d44b.tr8975.centralus1-a.worker.database.windows.net,11010
Solution
Cette erreur est renvoyée par l'instance du serveur SQL. Cela se produit généralement lorsque le nom de la table n'est pas valide ou que le schéma utilisé n'est pas valide.
Solution
Si vous avez cette erreur, il s'agit d'un problème de configuration dans notre cloud. Veuillez contacter votre administrateur ou le support Nectari.
DataSynchronizer.CannotValidateConnectionException: The Sage Intacct Refresh connection could not be validated
at DataSynchronizer.BaseSqlObjectSynchronizer.ValidateConnectionsAsync(CancellationToken cancellationToken)
at DataSynchronizer.BaseSqlObjectSynchronizer.DataSyncActionsFirstStepValidationAsync(CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.Refresh(Nullable`1 lastSuccessDate, CancellationToken cancellationToken)
Solution
Cette erreur se produit lorsque la connexion n'est pas valide. Vérifiez que les paramètres de la connexion source, tels que le nom d'utilisateur, le mot de passe, le nom du serveur, l'URL, etc. sont correctement configurés.
System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Shared.Objects.ThreadUtils.RetryAsync[T](Func`1 action, TimeSpan retryWait, Int32 retryCount, Boolean increaseRetryWait, Func`2 exceptionPredicate, CancellationToken cancellationToken)
at DBProviders.DbCommandExtensions.GetReaderAsync(IDbCommand command, CommandBehavior commandBehavior, Int32 retryWaitSeconds, Int32 retryCount, CancellationToken cancellationToken, Boolean printParameter)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceFromReaderWithCount[T](DbTranslateResult translateResult, ITargetBlock`1 consumerHeadBlock, Int32 retryCount, Int32 retryWaitSeconds, CancellationToken cancellationToken)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceFromReader[T](DbTranslateResult translateResult, ITargetBlock`1 consumerHeadBlock, Int32 retryCount, Int32 retryWaitSeconds, CancellationToken cancellationToken)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceForLoadAll[T](SqlReadableForDataLoad sqlObject, ITargetBlock`1 consumerHeadBlock, CancellationToken cancellationToken)
at DataSyncQueryExecutor.ExecutorExtensions.ProduceForLoadAll[T](ConnectionDefinitionForDataLoad connectionDetails, SqlReadableForDataLoad sqlObject, IServiceProvider provider, ITargetBlock`1 consumerHeadBlock, CancellationToken cancellationToken)
at DataSynchronizer.BaseSqlObjectSynchronizer.ProduceForLoadAll(ITargetBlock`1 targetBlock, CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.<>c__DisplayClass3_0.<<LoadAll>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at DataSynchronizer.BaseSqlObjectSynchronizer.ProduceAndConsume(Func`2 producerCallback, JobAction actionType, CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.LoadAll(CancellationToken cancellationToken)
Solution
Ce message d'erreur apparaît lorsqu'une tâche exécutée est annulée par l'utilisateur dans le DataSync.
Solution
La transaction (Process ID 62) a été bloquée sur les ressources de verrouillage avec un autre processus et a été choisie comme victime du blocage. Ré-exécutez la transaction. Les blocages peuvent survenir pour de multiples raisons telles que l'utilisation d'une table par une autre extraction, par le cube OLAP, le verrouillage de la table par un autre processus, etc.
Solution
Cette erreur se produit lorsqu'il y a un blocage. Cela peut se produire pour de multiples raisons, telles que l'utilisation d'une table par une autre extraction ou par le cube OLAP, le verrouillage de la table par un autre processus, etc.
Cette erreur peut se produire si la chaîne est trop grande pour être insérée dans la colonne de destination. L'augmentation de la taille de la colonne de destination résoudra le problème. Le problème peut également se produire si une colonne binaire est envoyée dans une colonne de chaînes (nvarchar).
cta230S.QdY: [DL02000001] . The Service is Temporarily Off-line. [Support ID: syU_CWEB036%7EZrbQ7P4v05Y4OMh-h8ETeAAAAAc]. ---> cta230S.QdY: [DL02000001] . The Service is Temporarily Off-line. [Support ID: syU_CWEB036%7EZrbQ7P4v05Y4OMh-h8ETeAAAAAc]. ---> cta230S.QdY: [DL02000001] . The Service is Temporarily Off-line. [Support ID: syU_CWEB036%7EZrbQ7P4v05Y4OMh-h8ETeAAAAAc].
at cta230S.QTP.LO(String , QdW )
at cta230S.QTP.v()
at cta230S.QTE.ZN(QdW )
at cta230S.FTo.m(Qdn , FTk )
at cta230S.FTk.g(FEk , FTW , FEv , FTW , FTW , String )
at cta230S.FTk.F(Qdn , FTW , FEv , FTW , FTW )
at cta230S.FYn.P(String , Qdn , QdU , QdI )
at cta230S.FYn.bL(Qdn , QdU , QdI )
at cta230S.Qbd.ZN(QdW )
at cta230S.FTo.m(Qdn , FTk )
at cta230S.FYU.F(FYU , FTk )
at cta230S.FYU.yCj(FTk )
at cta230S.FbY.X(FTk )
at cta230S.FbY.g(FbY , FTk )
at cta230S.FbY.yCj(FTk )
at cta230S.FbY.X(FTk )
at cta230S.FbY.g(FbY , FTk )
at cta230S.FbY.yCj(FTk )
at cta230S.FdT.yCh(FTk )
at cta230S.Pdx.fj(QdW , Pds )
at cta230S.FQQ.yyV()
at cta230S.PzW.R(PYx , PoQ )
at cta230S.Pzs.yUx()
at cta230S.PzW.yyw()
at cta230S.Fmg.l()
--- End of inner exception stack trace ---
at cta230S.Fmg.l()
at cta230S.Fmg.v()
at cta230S.Fml.Next()
--- End of inner exception stack trace ---
at cta230S.Fml.Next()
at cta230S.Fmz.Next()
at cta230S.TY.Read()
at System.Data.Common.DbDataReader.ReadAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.RetrieveCleanDeletesDataAsync(DbTranslateResult translateResult, CancellationToken cancellationToken)
at DataSyncQueryExecutor.System_Data_CData_SageIntacct_DataSyncExecutor.<>c__DisplayClass2_0.<<RetrieveCleanDeletesDataAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at DataSyncQueryExecutor.System_Data_CData_SageIntacct_DataSyncExecutor.RetrieveCleanDeletesDataAsync(DbTranslateResult translateResult, CancellationToken cancellationToken)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.GetSourceDataForCleanDeletesAsync(SqlReadableForDataLoad sqlObject, DateTimeOffset dateTimeOffSet, CancellationToken cancellationToken)
at DataSyncQueryExecutor.ExecutorExtensions.GetSourceDataForCleanDeletesAsync(ConnectionDefinitionForDataLoad sourceConnection, SqlReadableForDataLoad sqlObject, IServiceProvider provider, DateTimeOffset dateTimeOffSet, CancellationToken cancellationToken)
at DataSynchronizer.BaseSqlObjectSynchronizer.CreateCleanDeletesDictionary(DateTimeOffset dateTimeOffSet, SourceOrDestination sourceOrDestination, CancellationToken cancellationToken)
at DataSynchronizer.BaseSqlObjectSynchronizer.GetDataForCleanDeletes(DateTimeOffset startDate, SourceOrDestination sourceOrDestination, CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.CleanDeletes(Nullable`1 deleteCleaningDaysInterval, CancellationToken cancellationToken)
Solution
Cette erreur est générée par Sage Intacct lorsque ses services sont indisponibles.
Solution
L'entrepôt de base de données a atteint son quota de taille. Veuillez contacter votre représentant commercial Nectari.
Solution
Cette erreur peut se produire lorsque le Traitement des enregistrements supprimés par partition n'a pas réussi à traiter une partition spécifique.
System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
at System.Data.Common.ADP.ExceptionWithStackTrace(Exception e)
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(Boolean errorsExpected, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken cancellationToken, Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable`1.AsyncEnumerator.BufferlessMoveNext(DbContext _, Boolean buffer, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable`1.AsyncEnumerator.MoveNext(CancellationToken cancellationToken)
at System.Linq.AsyncEnumerable.FirstOrDefault_[TSource](IAsyncEnumerable`1 source, CancellationToken cancellationToken) in D:\a\1\s\Ix.NET\Source\System.Interactive.Async\First.cs:line 144
at Microsoft.EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider.TaskResultAsyncEnumerable`1.Enumerator.MoveNext(CancellationToken cancellationToken)
at System.Linq.AsyncEnumerable.SelectEnumerableAsyncIterator`2.MoveNextCore(CancellationToken cancellationToken) in D:\a\1\s\Ix.NET\Source\System.Interactive.Async\Select.cs:line 106
at System.Linq.AsyncEnumerable.AsyncIterator`1.MoveNext(CancellationToken cancellationToken) in D:\a\1\s\Ix.NET\Source\System.Interactive.Async\AsyncIterator.cs:line 98
at Microsoft.EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext(CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteSingletonAsyncQuery[TResult](QueryContext queryContext, Func`2 compiledQuery, IDiagnosticsLogger`1 logger, Type contextType)
at DataSyncService.ConnectionDetailsResolver.GetConnectionDetailsFromCustomersAsync(CancellationToken cancellationToken)
at DataSyncService.ConnectionDetailsResolver.GetConnectionDetailsAsync(CancellationToken cancellationToken)
at DataSyncORM.ViewFinder.ConnectionDefinitionHandler(CancellationToken cancellationToken)
at DataSyncORM.ViewFinder.IsExtractionActive(String extractionId, CancellationToken cancellationToken)
at DataSyncService.ExtractionExecutionService.IsExtractionActive(String extractionId, CancellationToken cancellationToken)
at DataSyncService.ExtractionExecutionService.CanExtractionRun(String triggerId, String extractionId, String scheduleId, ExtractionSchedulingType schedulingType, JobAction actionType, CancellationToken token)
at DataSyncService.ExtractionExecutionService.RunScheduledTask(String triggerId, String extractionId, JobAction actionType, String scheduleId, Nullable`1 deleteHandlingDaysInterval, CancellationToken token)
at DataSyncService.ScheduledExtractionBackgroundTask.PerformSync(IServiceProvider provider, CancellationToken token)
at DataSyncService.ExtractionBackgroundTask.ExecuteAsync(IServiceProvider baseProvider, CancellationToken token)
Solution
Cette erreur se produit lorsque trop d'extractions sont effectuées au sein d'une même connexion. Cela signifie que la propriété Max pool size doit être augmentée dans les propriétés de la connexion.
System.InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseSqlServer' call. ---> System.Data.SqlClient.SqlException: A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - The specified network name is no longer available.) ---> System.ComponentModel.Win32Exception: The specified network name is no longer available
--- End of inner exception stack trace ---
at System.Data.ProviderBase.DbConnectionPool.CheckPoolBlockingPeriod(Exception e)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.BufferlessMoveNext(DbContext _, Boolean buffer)
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
--- End of inner exception stack trace ---
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider._TrackEntities[TOut,TIn](IEnumerable`1 results, QueryContext queryContext, IList`1 entityTrackingInfos, IList`1 entityAccessors)+MoveNext()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
at System.Collections.Generic.List`1.AddEnumerable(IEnumerable`1 enumerable)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at DataSyncService.LogCleaningBackgroundService.ExecuteAsync(CancellationToken stoppingToken)
Solution
Cette erreur se produit en cas de panne du serveur SQL. Vérifiez que votre connexion au serveur SQL est toujours active. Si vous êtes dans le Cloud, vérifiez la page Statut.
An exception occurred while iterating over the results of a query for context type '"DataSyncIdentityServer.Context.DataSyncIdentityServerContext"'."
""System.InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseSqlServer' call. ---> System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.) ---> System.ComponentModel.Win32Exception: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
--- End of inner exception stack trace ---
at System.Data.ProviderBase.DbConnectionPool.CheckPoolBlockingPeriod(Exception e)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.BufferlessMoveNext(DbContext _, Boolean buffer)
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
--- End of inner exception stack trace ---
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider._TrackEntities[TOut,TIn](IEnumerable`1 results, QueryContext queryContext, IList`1 entityTrackingInfos, IList`1 entityAccessors)+MoveNext()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()"
Solution
Cette erreur se produit en cas de panne du serveur SQL. Vérifiez que votre connexion au serveur SQL est toujours active. Si vous êtes dans le Cloud, vérifiez la page Statut.
An exception occurred while iterating over the results of a query for context type '"DataSyncIdentityServer.Context.DataSyncIdentityServerContext"'."
""System.InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseSqlServer' call. ---> System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.) ---> System.ComponentModel.Win32Exception: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
--- End of inner exception stack trace ---
at System.Data.ProviderBase.DbConnectionPool.CheckPoolBlockingPeriod(Exception e)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.BufferlessMoveNext(DbContext _, Boolean buffer)
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
--- End of inner exception stack trace ---
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider._TrackEntities[TOut,TIn](IEnumerable`1 results, QueryContext queryContext, IList`1 entityTrackingInfos, IList`1 entityAccessors)+MoveNext()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()"
Solution
Cette erreur se produit en cas de panne du serveur SQL. Vérifiez que votre connexion au serveur SQL est toujours active. Si vous êtes dans le Cloud, vérifiez la page Statut.
Solution
Cette erreur se produit en cas de problème technique. Veuillez contacter votre support Nectari.
System.Data.CData.SageIntacct.SageIntacctException (0x80004005): [500] Could not execute the specified command: HTTP 503: Service Unavailable ---> cta230S.PIo: HTTP 503: Service Unavailable
at cta230S.PzW.R(PYx , PoQ )
at cta230S.Pzs.yUx()
at cta230S.PzW.yyw()
at cta230S.FQs.jK(SQLQuery , Int32 , Pgm )
at cta230S.FQs.yQ(IDataStatement , SQLQuery , QueryParameterCollection , Int32 , String , Foc )
at cta230S.FQb.ExecuteQuery(IDataStatement , QueryParameterCollection , Int32 )
at cta230S.PAI.ExecuteQuery(IDataStatement , QueryParameterCollection , Int32 )
at cta230S.PYn.yyA(QueryParameterCollection )
at System.Data.CData.SageIntacct.SageIntacctCommand.ExecuteDataReader(CommandBehavior behavior)
at Shared.Objects.ThreadUtils.RetryAsync[T](Func`1 action, TimeSpan retryWait, Int32 retryCount, Boolean increaseRetryWait, Func`2 exceptionPredicate, CancellationToken cancellationToken)
at DBProviders.DbCommandExtensions.GetReaderAsync(IDbCommand command, CommandBehavior commandBehavior, Int32 retryWaitSeconds, Int32 retryCount, CancellationToken cancellationToken, Boolean printParameter)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceFromReaderWithCount[T](DbTranslateResult translateResult, ITargetBlock`1 consumerHeadBlock, Int32 retryCount, Int32 retryWaitSeconds, CancellationToken cancellationToken)
at DataSyncQueryExecutor.System_Data_CData_SageIntacct_DataSyncExecutor.<>c__DisplayClass1_0`1.<<ProduceFromReaderWithCount>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at DataSyncQueryExecutor.System_Data_CData_SageIntacct_DataSyncExecutor.ProduceFromReaderWithCount[T](DbTranslateResult translateResult, ITargetBlock`1 consumerHeadBlock, Int32 retryCount, Int32 retryWaitSeconds, CancellationToken cancellationToken)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceFromReader[T](DbTranslateResult translateResult, ITargetBlock`1 consumerHeadBlock, Int32 retryCount, Int32 retryWaitSeconds, CancellationToken cancellationToken)
at DataSyncQueryExecutor.BaseDataSyncQueryExecutor.ProduceForLoadAll[T](SqlReadableForDataLoad sqlObject, ITargetBlock`1 consumerHeadBlock, CancellationToken cancellationToken)
at DataSyncQueryExecutor.ExecutorExtensions.ProduceForLoadAll[T](ConnectionDefinitionForDataLoad connectionDetails, SqlReadableForDataLoad sqlObject, IServiceProvider provider, ITargetBlock`1 consumerHeadBlock, CancellationToken cancellationToken)
at DataSynchronizer.BaseSqlObjectSynchronizer.ProduceForLoadAll(ITargetBlock`1 targetBlock, CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.<>c__DisplayClass3_0.<<LoadAll>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at DataSynchronizer.BaseSqlObjectSynchronizer.ProduceAndConsume(Func`2 producerCallback, JobAction actionType, CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.LoadAll(CancellationToken cancellationToken)
Solution
Cette erreur se produit lorsque le service auquel vous essayez de vous connecter n'est pas disponible. Vérifiez que le service est opérationnel.
Solution
Ce message est généré lorsque le travail exécuté est appelé par l'utilisateur.
Solution
Cette erreur se produit lorsque vous essayez de créer un index unique mais qu'il y a des problèmes d'intégrité des données qui doivent être résolus.
Solution
Vérifier la connexion à la base de données. Si c'est dans le Cloud, contactez le support Nectari si le service n'est pas disponible pendant plus de quelques minutes et vérifiez la page Status.
DataSyncModels.PartitionFailException: Can not clean deletes for Gldetail because all partitions have not been loaded for this table
at DataSynchronizer.SqlObjectForSynchronization.CleanDeletesByPartition(Nullable`1 deleteCleaningDaysInterval, CancellationToken cancellationToken)
Solution
Cette erreur se produit lorsque le nettoyage ne peut pas être exécuté parce que toutes les partitions n'ont pas été chargées.
Solution
Cette erreur se produit en cas de problème technique. Veuillez contacter votre support Nectari.
System.ArgumentException: An item with the same key has already been added. Key: { Bookid=ACCRUAL
Currency=GBP
Period=Nectari Opening 2023
Accountrec=2683
Departmentid=D340
Locationid=R006
Customerdimkey=0
Vendordimkey=0
Employeedimkey=0
Itemdimkey=26
Classdimkey=67
Projectdimkey=0
CPYID=TEST
}
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](List`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector)
at DataSynchronizer.BaseSqlObjectSynchronizer.CreateCleanDeletesDictionary(DateTimeOffset dateTimeOffSet, SourceOrDestination sourceOrDestination, CancellationToken cancellationToken)
at DataSynchronizer.BaseSqlObjectSynchronizer.GetDataForCleanDeletes(DateTimeOffset startDate, SourceOrDestination sourceOrDestination, CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.CleanDeletes(Nullable`1 deleteCleaningDaysInterval, CancellationToken cancellationToken)
Solution
Cette erreur peut se produire lorsque l'index n'est pas configuré correctement et/ou que la clé unique n'est pas définie correctement au niveau de la table dans l'écran DataSync.
Error executing the post script execution:
EXEC dbo.sp_executesql ....
System.Threading.ThreadInterruptedException: Thread was interrupted from a waiting state.
at System.Threading.WaitHandle.WaitMultiple(WaitHandle[] waitHandles, Int32 millisecondsTimeout, Boolean exitContext, Boolean WaitAll)
at System.Threading.WaitHandle.WaitAny(WaitHandle[] waitHandles, Int32 millisecondsTimeout, Boolean exitContext)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at InsightDatabaseUOW.InsightDbExtensions.OpenWithTransaction(IProviderConnectionInformation connectionInformation, IsolationLevel isolationLevel)
at InsightDatabaseUOW.InsightDbExtensions.OpenWithTransaction(ConnectionDetails connectionInformation, IsolationLevel isolationLevel)
at InsightDatabaseUOW.InsightDbTransactionalUow.GetCreateConnection(IsolationLevel isolationLevel, CancellationToken cancellationToken)
at InsightDatabaseUOW.InsightDbTransactionalUow.Commit(IsolationLevel isolationLevel, CancellationToken cancellationToken)
at DataSyncService.TableExecutionService.ChangeTablePartitionStatus(ChangeTablePartitionStatusCommand command)
at DataSynchronizer.SqlObjectForSynchronization.LoadAllByPartition(CancellationToken cancellationToken)
Solution
Le script de post-exécution ne peut pas être validé, le SQL n'est donc pas valide et cette erreur sera levée à la fin d'un travail DataSync.
System.Threading.ThreadInterruptedException: Thread was interrupted from a waiting state.
at System.Threading.WaitHandle.WaitMultiple(WaitHandle[] waitHandles, Int32 millisecondsTimeout, Boolean exitContext, Boolean WaitAll)
at System.Threading.WaitHandle.WaitAny(WaitHandle[] waitHandles, Int32 millisecondsTimeout, Boolean exitContext)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at InsightDatabaseUOW.InsightDbExtensions.OpenWithTransaction(IProviderConnectionInformation connectionInformation, IsolationLevel isolationLevel)
at InsightDatabaseUOW.InsightDbExtensions.OpenWithTransaction(ConnectionDetails connectionInformation, IsolationLevel isolationLevel)
at InsightDatabaseUOW.InsightDbTransactionalUow.GetCreateConnection(IsolationLevel isolationLevel, CancellationToken cancellationToken)
at InsightDatabaseUOW.InsightDbTransactionalUow.Commit(IsolationLevel isolationLevel, CancellationToken cancellationToken)
at DataSyncService.TableExecutionService.ChangeTablePartitionStatus(ChangeTablePartitionStatusCommand command)
at DataSynchronizer.SqlObjectForSynchronization.LoadAllByPartition(CancellationToken cancellationToken)
Solution
Cette erreur peut se produire lorsque l'entrepôt de données n'est pas disponible dans le Cloud. Contactez votre support Nectari.
Solution
Cette erreur se produit lorsque les identifiants de connexion à l'entrepôt de données ne sont pas valides ou qu'il y a un problème de permissions. S'il s'agit d'un problème de permissions, contactez votre support Nectari.
Solution
L'erreur est déclenchée lorsqu'il y a trop de données en cours de traitement. S'il s'agit de Cloud, contactez votre support Nectari.
System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at DataSynchronizer.SqlObjectForSynchronization.ReBuildAllIndexes(CancellationToken cancellationToken)
at DataSynchronizer.SqlObjectForSynchronization.LoadAll(CancellationToken cancellationToken)
Solution
L'erreur est lancée lorsque l'opération en cours d'exécution a été annulée.
Solution
Cette erreur peut être déclenchée lorsque le type de données du champ Source est compatible avec le type de données du champ Destination sélectionné. Lorsqu'il essaie de convertir, il n'est pas en mesure d'effectuer correctement la conversion. Par exemple, la conversion d'une chaîne de caractères en un nombre.
Cette erreur peut également se produire si la précision totale du type de données du champ de destination est réduite par rapport au type de données du champ source. Par exemple, Decimal(18,5) -> Decimal(6,5). Cela peut poser des problèmes lors de la conversion d'un nombre qui nécessite plus de précision que la précision.