Neu Permanentes Löschen der Kunden- und Verkaufsdaten

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.521
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: 60
  • AlleKundenLoeschen.sql.txt
    426 Bytes · Aufrufe: 52

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 POS-Verkäufe in JTL-Wawi löschen Allgemeine Fragen zu JTL-POS 1
Kunden können im Warenkorb Artikell nicht löschen JTL-Wawi 1.10 2
Neu Funktionsattribut löschen Shopware-Connector 0
Neu Wie alte Vorlagen in der Ameise löschen? JTL-Ameise - Fehler und Bugs 2
Artikel-Bilder löschen entfernt diese nicht aus der DB JTL-Wawi 1.8 4
Neu Verkaufskanalverwaltung Shopware lässt sich nicht löschen Shopware-Connector 2
In Diskussion Workflow für Amazon Tel. Nummern löschen JTL-Workflows - Ideen, Lob und Kritik 3
Neu Test Plugin lässt sich weder installieren, noch löschen Plugins für JTL-Shop 0
Neu Filter-URLs mit Farbangaben & ?ed=1 – Wie richtig behandeln (noindex, löschen, vermeiden)? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Variationswert löschen nicht möglich User helfen Usern - Fragen zu JTL-Wawi 4
Verkaufskanal lässt sich nicht löschen JTL-Wawi 1.10 0
Artikel aus Amazon löschen JTL-Wawi 1.7 10
Neu Löschen von Merkmalen Betrieb / Pflege von JTL-Shop 3
Neu Fehler beim JTL-Worker – "Der Remoteserver hat einen Fehler zurückgegeben: (502) Ungültiges Gateway" (Shopify) JTL-Wawi - Fehler und Bugs 2
Reiter Lieferanten in der Artikelübersicht wird wegen dem fehlenden Recht nicht angezeigt JTL-Wawi 1.10 5
Neu Wie lange ist der JTL Token gültig? Ich bekomme rel. schnell die Meldung "Fehlerhafter Token" User helfen Usern - Fragen zu JTL-Wawi 0
Neu Sortierung der Länder alphabetisch Allgemeine Fragen zu JTL-Shop 2
Neu Ausschalten des Menü Servicedesk und des Buttons in der WaWi User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL Shop: Ausblenden von Unterkategorien (In der Mitte) möglich ? Allgemeine Fragen zu JTL-Shop 0
Neu Keine Attribute Zuordnung der Plattform: POS möglich JTL-Ameise - Fehler und Bugs 0
Neu .php-cs-fixer.php - nicht identisch mit den Dateien der aktuellen Version von JTL-Shop JTL-Shop - Fehler und Bugs 3
Neu JTL-Shop: Anzeige der Artikel aus untergeordneten Kategorien Allgemeine Fragen zu JTL-Shop 2
Neu 5.5.2: OPC Akkordeon scrollt bei Wechsel der Gruppe ganz nach oben JTL-Shop - Fehler und Bugs 0
Fehler in der JTL-Wawi-Anzeige, ob ein Artikel bereits einem Onlineshop zugeordnet wurde. JTL-Wawi 1.10 5
Neu Scheinbar willkürlicher Abgleich der Artikel WooCommerce-Connector 3
Neu zum 30. Juni 2025 wird der Amazon Lister 1.0 eingestellt JTL-ShippingLabels - Fehler und Bugs 5
Neu Kartongröße abhängig von der Stückzahl User helfen Usern - Fragen zu JTL-Wawi 1
Neu HILFÄÄÄÄ - Gibt es hier jemand der uns helfen kann Schlussrechnungen mit ausgewiesener MwSt bei den Anzahlungen User helfen Usern - Fragen zu JTL-Wawi 32
Neu Plugin - Kindartikel in der Artikelübersicht anzeigen - SHOP-475 Plugins für JTL-Shop 2
Neu Probleme bei der Indexierung bei Google (Search Console) JTL-Shop - Fehler und Bugs 2
Neu Ändern des Dokumententitels oder andere Wege der Datenübergabe in das Dokument hinein für Artikeletiketten. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Varianten und der Amazon Lister 2.0 Amazon-Lister - Fehler und Bugs 0
Neu Export der Artikel - Fehler beim Export!? JTL-POS - Fehler und Bugs 0
Neu Fehler Erstabgleich - Konflikt mit der FOREIGN KEY-Einschränkung Shopify-Connector 2
Neu Ab welcher JTL Edition ist der Batch Export in der Free Version nicht mehr möglich? JTL Ameise - Eigene Exporte 11
Neu AMAZON Business Kunde - Firmenzeile der Adresse wird von AMAZON übernommen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Nutzung der WMS Mobile APP JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu Durchschnittliches Versandgewicht der letzten 360 Tage Eigene Übersichten in der JTL-Wawi 2
Neu Video auf Mobilgeräten startet automatisch im Vollbildmodus anstatt nur wie eingebettet auf der Website Allgemeine Fragen zu JTL-Shop 0
Neu Neues Plugin - Der ultimative Super-Slider Plugins für JTL-Shop 0
Artikelübersicht - in Aufträgen - "Firma" fehlt weiterhin - nur der Name des Ansprechpartners wird angezeigt JTL-Wawi 1.10 4
Fehlermeldung nach Auswahl eines Filters in der Kategorie- / Artikel-ansicht JTL-Wawi 1.10 0
Neu Kein Einlesen der VCS Rechnungen von Amazon seit 8. Mai Amazon-Anbindung - Fehler und Bugs 0
Beantwortet Der Menüpunkt JTL-Wawi App fehlt JTL-Workflows - Fehler und Bugs 1
Neu Merkmaltabelle in eBay-Designvorlagen, abhängig von der derzeitigen Sprache | Dotliquid User helfen Usern 5
Neu JTL API Registrierung der APP Schnittstellen Import / Export 3
Standardasin wird in der Artikelübersicht nicht mehr angezeigt JTL-Wawi 1.10 1
Neu Tabelle der Merkmale erstellen, abhängig von der derzeitigen Sprache eBay-Designvorlagen - Ideen, Lob und Kritik 0
Lässt sich der zu scannende Barcode ändern? JTL-Wawi App 1
Neu Wie kann ich Zubehör, welches beim DropshippingLieferanten UND im Standardlager verfügbar ist dropshippen, Wenn der Hauptartikel Dropshipping ist? Arbeitsabläufe in JTL-Wawi 5

Ähnliche Themen