Wir haben seit ca. 10 Tagen das Problem, dass der Worker immer wieder aussteigt mit der u.a. Fehlermeldung.
Interessant hierbei:
Unsere Umgebung
---- FEHLERMELDUNG ----
Abgleich-Protokoll:
Bitte beachten Sie, dass JTL-Wawi federführend ist!
Im Shop-Backend vorgenommene Änderungen können nicht mehr automatisiert abgeglichen werden und führen somit zu Datenverlust.
Prüfe Endpointkonfiguration.
Abgleich gestartet für 'XXXXXXXXXX.XXX (SW5)'.
Empfangen: Kunden (2 Stück)
Onlineshop-Abgleich beendet für 'XXXXXXXXXX.XXX (SW5)'.
Fehler:
Aufträge-Empfangen-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!
Diese Bestellung darf nicht gelöscht werden.
bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
bei System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption)
bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
bei System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
bei JTL.Database.DbCommandExtensions.ExecuteNonQuery(IDbCommand command, Byte[] contextInfo)
bei JTL.Database.DbConnectionExtensions.<>c__DisplayClass4_0.<ExecuteNonQuery>b__0(IDbConnection con)
bei JTL.Database.DbConnectionExtensions.<>c__DisplayClass16_0`1.<Execute>b__0()
bei JTL.Database.DbConnectionExtensions.HandleError[T](IDbConnection connection, Func`1 action)
bei JTL.Database.DbConnectionExtensions.Execute[T](IDbConnection connection, Func`2 func)
bei JTL.Database.DbConnectionExtensions.ExecuteNonQuery(IDbConnection connection, IDbCommand command, Byte[] contextInfo)
bei jtlDatabase.classes.jtlDBClasses.StoredProcedures.spBestellungLoeschen(String xBestellung, Int32 kBestellung, Byte[] contextInfo)
bei jtlDatabase.classes.jtlDBClasses.StoredProcedures.spBestellungLöschen(List`1 bestellungen, Int32 kBestellung, String grund)
bei jtlDatabase.classes.ConnectorClasses.CustomerOrderSaver.rcq4Cjlhyxl(jtlBestellung )
bei jtlDatabase.classes.ConnectorClasses.CustomerOrderSaver.Save(List`1 customerOrders, List`1& exceptions)
bei jtlDatabase.classes.ConnectorClasses.Saver.Save(IEnumerable`1 items, jtlShop shop, List`1& exceptions)
bei jtlCore.ControllerClasses. Connector.Abgleich.Funktionen.ConnectorPuller.Pull[TEntity](Int64 quantity)
Warnungen:
Der Shop hat nicht alle Artikel gesendet.Auftrag 75083 kann nicht importiert werden (Error: Verletzung der PRIMARY KEY-Einschränkung "PK_tBestellungAttribute". Ein doppelter Schlüssel kann in das dbo.tBestellungAttribute-Objekt nicht eingefügt werden. Der doppelte Schlüsselwert ist (81843).
Die Anweisung wurde beendet.).
Der Shop hat nicht alle Aufträge gesendet.Abgleich darf nicht weiterlaufen.
Interessant hierbei:
- Es betrifft nur Aufträge die mit PayPal Plus Rechnungskauf bezahlt wurden
- Ein 2. manueller Shopsync behebt das Problem
- Der Rechnungskauftext der in die Tabelle tBestellungAttribute mit dem angeblich doppelten Primary Key wird sauber eingefügt - auch schon bei dem ersten fehlerhaften Sync
- Die Tabelle tPK aus der der aktuelle Wert für die Primary Keys gezogen wird ist nach meiner Einschätzung korrekt, d.h. die Zeile für tBestellungAttribute lautet immer aktueller Wert des PK+1
Unsere Umgebung
- Shopware 5.4.3
- JTL Connector 2.1.12 (fehler trat auch mit 2.1.11 auf)
- JTL-Wawi 1.3.17.1
---- FEHLERMELDUNG ----
Abgleich-Protokoll:
Bitte beachten Sie, dass JTL-Wawi federführend ist!
Im Shop-Backend vorgenommene Änderungen können nicht mehr automatisiert abgeglichen werden und führen somit zu Datenverlust.
Prüfe Endpointkonfiguration.
Abgleich gestartet für 'XXXXXXXXXX.XXX (SW5)'.
Empfangen: Kunden (2 Stück)
Onlineshop-Abgleich beendet für 'XXXXXXXXXX.XXX (SW5)'.
Fehler:
Aufträge-Empfangen-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!
Diese Bestellung darf nicht gelöscht werden.
bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
bei System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption)
bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
bei System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
bei JTL.Database.DbCommandExtensions.ExecuteNonQuery(IDbCommand command, Byte[] contextInfo)
bei JTL.Database.DbConnectionExtensions.<>c__DisplayClass4_0.<ExecuteNonQuery>b__0(IDbConnection con)
bei JTL.Database.DbConnectionExtensions.<>c__DisplayClass16_0`1.<Execute>b__0()
bei JTL.Database.DbConnectionExtensions.HandleError[T](IDbConnection connection, Func`1 action)
bei JTL.Database.DbConnectionExtensions.Execute[T](IDbConnection connection, Func`2 func)
bei JTL.Database.DbConnectionExtensions.ExecuteNonQuery(IDbConnection connection, IDbCommand command, Byte[] contextInfo)
bei jtlDatabase.classes.jtlDBClasses.StoredProcedures.spBestellungLoeschen(String xBestellung, Int32 kBestellung, Byte[] contextInfo)
bei jtlDatabase.classes.jtlDBClasses.StoredProcedures.spBestellungLöschen(List`1 bestellungen, Int32 kBestellung, String grund)
bei jtlDatabase.classes.ConnectorClasses.CustomerOrderSaver.rcq4Cjlhyxl(jtlBestellung )
bei jtlDatabase.classes.ConnectorClasses.CustomerOrderSaver.Save(List`1 customerOrders, List`1& exceptions)
bei jtlDatabase.classes.ConnectorClasses.Saver.Save(IEnumerable`1 items, jtlShop shop, List`1& exceptions)
bei jtlCore.ControllerClasses. Connector.Abgleich.Funktionen.ConnectorPuller.Pull[TEntity](Int64 quantity)
Warnungen:
Der Shop hat nicht alle Artikel gesendet.Auftrag 75083 kann nicht importiert werden (Error: Verletzung der PRIMARY KEY-Einschränkung "PK_tBestellungAttribute". Ein doppelter Schlüssel kann in das dbo.tBestellungAttribute-Objekt nicht eingefügt werden. Der doppelte Schlüsselwert ist (81843).
Die Anweisung wurde beendet.).
Der Shop hat nicht alle Aufträge gesendet.Abgleich darf nicht weiterlaufen.