Neu Permanentes Löschen der Kunden- und Verkaufsdaten

  • Hinweis: Am 25.02.2025 zwischen 21:30 u. 22:30 Uhr - Einschränkungen beim Login und Erreichen folgender Dienste: FFN, Kundencenter, Admin, JTL-Shop, JTL-Wawi, Lizenzserver, ISI Gateway, Vouchers, Kassensysteme, Plan&Produce, Versand. Grund dafür ist ein Major Upgrade des OAuth-Dienstes. Vielen Dank für euer Verständnis!

Tobi_G

Neues Mitglied
17. Dezember 2019
18
5
Hallo,
dies ist mein erster Beitrag hier in dem Forum, daher entschuldigt etwaige Fehler meinerseits.

Wie der Titel bereits sagt möchte ich in JTL alle Kunden und Verkaufsdaten permanent aus der Datenbank löschen. Wie ich in anderen Beiträgen bereits gelesen hatte, geht das nicht über die normalen Wawi Funktionen. Der Grund für meine Frage ist, dass ich ein Programm schreibe, welches alle Kundendaten von einer API neu einliest und das geht nicht solange die Kundennummer in der Datenbank noch vorhanden ist. Ein Löschen des gesamten Servers ist in sofern keine Option da ein Kollege bereits einige wichtige Konfigurationen vorgenommen hat.

Ein erster Versuch mit dem nachfolgenden SQL Skript hat scheinbar noch nicht den gewünschten Effekt gehabt und bevor ich das Rad neu erfinde wäre es schön wenn mir hier jemand helfen kann.


truncate table tbestellung;
truncate table tbestellpos;
truncate table tbestelleigenschaft;
update tpk set nummer=1 where cname='tbestellpos';
update tpk set nummer=1 where cname='tbestelleigenschaft';


Das System befindet sich auf einem Server von dem ein vollständiger Snapshot erstellt wurde, d.h. man muss keine Angst haben dass Daten verloren gehen, bei einem Fehler kann der Server schnell neu aufgesetzt werden.

Ich verstehe auch vollkommen alle Warnungen und Hinweise die ich mehrfach von Moderatoren hier gelesen habe, unwissende Nutzer sollten nicht an der Datenbank herumspielen. Daher kann ich auch gern anbieten diesen Beitrag wieder zu löschen sobald ich eine Lösung gefunden habe.

Grüße TG
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.244
1.517
Grundsätzlich ist vom Löschen von Daten in der DB abzuraten, da hier einfach zu viele Dinge ineinanderspielen.
Sei es die Statsitiken, Historieneinträge, Kundendaten, Bestelldaten, Einkaufspreise,...
Daher ist es einfacher ein leeres System entweder neu zu konfigurieren oder per Ameise mit den gewünschten Daten zu füllen.
 

Tobi_G

Neues Mitglied
17. Dezember 2019
18
5
So, entschuldige die etwas längere Antwortzeit. Ich bin jetzt weitergekommen und hab eine Frage zu den stored procedures:

Die Funktion spBestellungLoeschen nimmt als parameter einen int. Den konnte ich problemlos übergeben und die Funktion ausführen.
Zusammen mit einer While Schleife und vorherhiger max(kBestellung) konnte ich daher alle Bestellungen löschen.

Das selbe funktioniert aber nicht bei Maintenance.spKundenDatenDelete oder sp.AdresseDelete. Diese beiden Funktionen benutzen einen user defined Type, einen eigenen Datentypen der eine Readonly Tabelle darstellt. Und da ist der Knackpunkt. Ich kann selbst einen Datentypen deklarieren und mit Werten füllen beim übergeben bekomme ich diesen Fehler:

"[S0001][2786] Der Datentyp des 1-Ersetzungsparameters stimmt nicht mit dem erwarteten Typ der Formatspezifikation überein."

Wie kann ich die Funktion ausführen? Kann ich den Datentypen irgendwie selbst auf readonly setzen?
 

Tobi_G

Neues Mitglied
17. Dezember 2019
18
5
War mein Fehler, ich hab gerade gemerkt, dass die sp_KundenDatenDelete gar keinen Fehler wirft. Ich war davon ausgegangen dass es das selbe Problem verursacht wie AdresseDelete.

Was ich aber gemerkt habe ist, dass die Einträge nicht komplett gelöscht werden sondern dass dann in den Zeilen einfach nur "deleted" steht.
Gibt es eine Möglichkeit das noch sauberer wegzulöschen? Also dass quasi bei einem "select * from tKunde" nichts mehr zurückgegeben wird?
 

Tobi_G

Neues Mitglied
17. Dezember 2019
18
5
Also das Ergebnis von 2 Tagen Recherche und SQL Arbeit sind folgende 2 SQL Skripte:

AlleKundenLoeschen.sql
AlleBestellungenLoeschen.sql

Siehe Anhang

Beide greifen auf bereits hinterlegte stored procedures zurück.
AlleKundenLoeschen -> Maintenance.spKundenDatenDelete
AlleBestellungenLoeschen -> spBestellungLoeschen

Diese werden ganz einfach in einer while schleife aufgerufen, beginnend vom max wert des jeweiligen primarykeys bis (einschließlich) 1.

Beim "select * from tBestellungen" ist bereits nichts mehr zu sehen, die Ausführung für AlleKundenLoeschen.sql läuft noch, da dies sehr langsam ist.
Auf unserem Setting ist es ca 3 Einträge pro Sekunde. Sollte aber auch in einer leeren Tabelle münden.

Hoffe ich konnte damit dem ein oder anderen helfen.

Natürlich alle Angaben ohne Gewähr und auf eigene Gefahr. Immer vorher ein Backup machen! Und nur dann wirklich ausführen wenn ihr euch sicher seid dass nichts passieren kann.
Bitte auch vorher ohne die WhileLoop und mit einzelnen Datensätzen testen!!

Viele Grüße
TG

PS: Das Forum erlaubt keine Dateianhänge mit Endung ".sql" daher hab ich kurz ein ".txt" angefügt.

PPS: Falls einer der Moderatoren oder Admins hier trotzdem noch Lust hat mir zu sagen ob meine Lösung so in Ordnung ist oder ob es einen besseren Weg gibt bin ich gern offen für Vorschläge. ;)
 

Anhänge

  • AlleBestellungenLoeschen.sql.txt
    233 Bytes · Aufrufe: 56
  • AlleKundenLoeschen.sql.txt
    426 Bytes · Aufrufe: 49

Tobi_G

Neues Mitglied
17. Dezember 2019
18
5
Achso noch eine Frage:

Kann es sein dass die Extern.dll nichts anderes macht als auf die storedprocedures zuzugreifen?
 
  • Gefällt mir
Reaktionen: OuR
Ähnliche Themen
Titel Forum Antworten Datum
In Diskussion Wie lässt sich ein Freiposition im Auftrag per Workflow löschen? JTL-Workflows - Fehler und Bugs 4
Neu Alten Shop in der Wawi löschen... Onlineshop-Anbindung 0
dbo.tRestApiRequestLog löschen nicht möglich über die JTL Admin Oberfläche JTL-Wawi 1.9 0
Neu Steuernummer lässt sich nicht löschen User helfen Usern - Fragen zu JTL-Wawi 6
Neu Hersteller per Ameise löschen User helfen Usern - Fragen zu JTL-Wawi 3
Nach Shopwechsel, kann man alles löschen? JTL-Wawi 1.9 0
Neu Wie Kunden löschen, der noch nie bestellt hat? User helfen Usern - Fragen zu JTL-Wawi 2
In Bearbeitung Gutschein-Verkauf, Gutschein Details aus Positionsliste löschen Allgemeine Fragen zu JTL-POS 1
Löschen eines zweiten Onlineshops JTL-Wawi 1.9 3
Neu WF - Rabatt aus Artikelposition löschen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Abgeschlossene Picklisten löschen? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Hat sich erledigt. Kann ein Mod diesen Post löschen? JTL-Wawi 1.9 0
Neu Lieferadressen aus der Wawi-DB löschen User helfen Usern - Fragen zu JTL-Wawi 5
Wo steht jetzt die Seriennummer in der Rechnungsübersicht? JTL-Wawi 1.9 0
Neu Fehlerhafter Abgleich wegen angeblich mehr als 500 Artikel in der CFE von JTL-Shop 5 Allgemeine Fragen zu JTL-Shop 3
Aufpreis des Kindartikels wird nicht in der Beschaffung übernommen JTL-Wawi 1.9 1
Neu Leerzeichen vorangestellt im Barcode der Seriennummen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Nach dem Duplizieren eines alten Auftrags erscheint auf der Rechnung alte Bankverbindung JTL-Wawi - Fehler und Bugs 4
Neu Erneute Übermittlung der Sendungsnummern nach Adresskorrektur, oder erneutem Druck Amazon-Anbindung - Ideen, Lob und Kritik 2
Neu Mapping der Versandarten Shop, WMS und Wawi Allgemeine Fragen zu JTL-Shop 0
Neu Fehlerhafte Anzeige/Leere Felder in der Verkaufskanalverwaltung/JTL-Connector/Abgleicheinstellungen JTL-Wawi - Fehler und Bugs 0
Neu Import von Lagernummer (Standardlager; Kommentar) anhand der Artikelnummer JTL-Ameise - Fehler und Bugs 4
Neu Dotliquid - Ausgabe der VaterVarKombi-Artikelnummer User helfen Usern - Fragen zu JTL-Wawi 2
Wie wird der Sonderpreis auf die Kindartikel übertragen? JTL-Wawi 1.9 4
Neu Änderung von Sprachvariablen hat keine Wirkung und werden auch werden nicht in der Seite ersetzt JTL-Shop - Fehler und Bugs 7
Neu Seit Wechsel von SW5 auf SW6 funktioniert der Abgleich nicht mehr Shopware-Connector 3
Neu Megamenü mit Bilder der eigenen Seiten Technische Fragen zu Plugins und Templates 2
Neu Tabs in der Artikelbeschreibung > Mediendateien über Ameise Importieren/Exportieren JTL-Ameise - Ideen, Lob und Kritik 0
Neu Suche Kenner der MS SQL Datenbanken und JTL-WaWi vorzugsweise Raum Aachen Dienstleistung, Jobs und Ähnliches 1
Neu Kategorienspalte in der Artikelübersicht ausblenden User helfen Usern - Fragen zu JTL-Wawi 4
Logo verändern in der Google Suche Einrichtung JTL-Shop5 1
Neu Ebay Variantenartikel dem jeweiligen Artikel in der JTL zuordnen eBay-Anbindung - Fehler und Bugs 0
JTL auf der Steuerberater Expo am 20.03.25 Messen, Stammtische und interessante Events 0
JTL auf der E-commerce Berlin Expo 19./20.02.25 Messen, Stammtische und interessante Events 0
Neu Cross-Selling-Artikel importieren, aber falsches Format in der Excel Datei ? JTL-Ameise - Ideen, Lob und Kritik 6
Farbe der Grundpreisdarstellung ändern Einrichtung JTL-Shop5 2
In Bearbeitung Gesucht: EC Kartenlesegerät welches stabil mit der JTL POS App funktioniert JTL-POS - Fragen zu Hardware 5
Neue Bankverbindung wird auf der Rechnung nicht angezeigt JTL-Wawi 1.9 1
Neu Kundenspezifische Artikel -> Dokumente/ Etiketten an der Bestellung anheften Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Netzwerkfehler/ Fatal error bei der Erst-Instalation Installation / Updates von JTL-Shop 8
Gelöst Benutzer user_id auf Bon wo in der Kasse zu finden? Allgemeine Fragen zu JTL-POS 4
Gelöst Störung der Webservices von DPD Gelöste Themen in diesem Bereich 1
Neu Export des Feldes in der Ameise JTL Ameise - Eigene Exporte 1
Neu <img>-Links in der Artikelbeschreibung werden nach dem Hochladen nicht angezeigt eBay-Designvorlagen - Fehler und Bugs 0
Neu Werden laufenden Angebote nach Änderung der globalen Vorlage aktualisiert? eBay-Anbindung - Fehler und Bugs 2
Neu Problem mit der Verbindung von JTL-Wawi (1.5.48.2) und WooCommerce (Version 9.5.2) User helfen Usern - Fragen zu JTL-Wawi 0
Neu Nachforschungaufträge der DPD mit Worker automatisieren JTL-ShippingLabels - Fehler und Bugs 0
Neu Inhalt / Menge aus der Wawi im JTL Shop anzeigen / ohne Funktion ? Allgemeine Fragen zu JTL-Shop 2
Neu Preise der Kinderartikel aktualisieren Arbeitsabläufe in JTL-Wawi 4
Neu Preise der Variationen über Ameise anpassen, aber wie ? JTL-Ameise - Ideen, Lob und Kritik 3

Ähnliche Themen