Inaktiv Synchronisation mit Online-Shop fehlerhaft bei PayPal Plus (Rechnungskauf) - Verletzung PRIMARY KEY

mathiask

Aktives Mitglied
8. September 2015
59
2
Wir haben seit ca. 10 Tagen das Problem, dass der Worker immer wieder aussteigt mit der u.a. Fehlermeldung.

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
Wir können uns zwar mit manuellen Shopsyncs behelfen, schön ist allerdings leider anders 🙁

---- 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.
 

Rico Giesler

Offizieller Service Partner
SPBanner
10. Mai 2017
13.247
1.526
Erstell dazu bitte mal ein Ticket im Kundencenter.
Wenn ihr eine Lösung gefunden habt kannst du die gern hier posten.
 

Ähnliche Themen