Neu Permanentes Löschen der Kunden- und Verkaufsdaten

  • Temporäre Senkung der Mehrwertsteuer Hier findet ihr gesammelt alle Informationen, Videos und Fragen inkl. Antworten: https://forum.jtl-software.de/threads/mehrwertsteuer-senkung-vom-01-07-31-12-2020-offizieller-diskussionthread-video.129542/

Tobi_G

Neues Mitglied
17. Dezember 2019
18
4
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.226
1.392
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
4
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
4
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
4
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

Tobi_G

Neues Mitglied
17. Dezember 2019
18
4
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 Forum Antworten Erstelldatum des Themas
Neu Rechnungen löschen // Staging System -> Golive User helfen Usern - Fragen zu JTL-Wawi 3
Neu Neuware als defekt markieren und aus Bestand löschen JTL-Wawi - Ideen, Lob und Kritik 3
Neu Staffelpreise mit Ameise löschen. Schnittstellen Import / Export 1
Neu Mail nach Abruf zeitverzögert löschen Servicedesk (Beta) 0
Neu Kundengruppe löschen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Löschen aller Artikel und Kategorien aus der WAWI User helfen Usern - Fragen zu JTL-Wawi 0
Neu Option "Preise vorher löschen" - Variation Aufpreis JTL-Ameise - Fehler und Bugs 3
Neu Mehrere Artikel aufeinmal löschen/ Wie geht das? User helfen Usern - Fragen zu JTL-Wawi 8
Neu Nach manuellem Löschen, kein Abgleich mehr möglich WooCommerce-Connector 1
Neu Bewegungsdaten nach Testlauf löschen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Shop-Kategorien lassen sich nicht löschen JTL-Shop - Fehler und Bugs 1
Neu Alle Bilder löschen? User helfen Usern - Fragen zu JTL-Wawi 11
Neu Onlineshop löschen User helfen Usern - Fragen zu JTL-Wawi 7
Neu Import Kategorie Attribute - Vorhandene Attribute vorher löschen funktioniert nicht JTL-Ameise - Fehler und Bugs 1
Neu Import Kategorie Attribute - löschen bei leeren Werten verursacht Fehler JTL-Ameise - Fehler und Bugs 1
Neu Löschen des Antworttextes beim Email beantworten Servicedesk (Beta) 2
Neu Fehler Aufträge löschen - The EntityManager is closed. Shopware-Connector 1
Neu Wie kann man Bilder von Elementsammlung löschen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Neue Produkte werden von der Wawi nicht nach POS synchronisiert. JTL-POS - Fehler und Bugs 2
Neu Kann man einen Artikel anlegen, der nur mit einem anderen Artikel zusammen im Shop bestellt werden kann? Arbeitsabläufe in JTL-Wawi 4
Neu Vorlage Artikeletikett - Menge der jew. Position Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Hinweistext bei mehr als zwei Rechnungspositionen / Summe der Positionen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Online Abgleich Shopware nach Änderung der Kategorien nicht mehr möglich 502 500 Onlineshop-Anbindung 0
Neu PHP wurde mit der Option JTL-Shop - BETA - Feedback und Bugmeldungen 2
Neu Amazon-Angeboten erstellen mit der Ameise: JTL-Ameise - Ideen, Lob und Kritik 1
Neu GLS Retourenschein der Lieferung beilegen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Auftrag per Paypal bezahlt wird aber nicht in der Wawi zugeordnet User helfen Usern - Fragen zu JTL-Wawi 3
Neu Wie erkennt der Shop Händler Allgemeine Fragen zu JTL-Shop 4
Neu Vorschau in der Suchfunktion JTL-Search 1
Gelöst Anzahl der Artikel in einem Auftrag, bei denen ein Eigenes Feld existiert JTL-Workflows - Ideen, Lob und Kritik 0
Neu Absturz der Kasse JTL-POS - Fehler und Bugs 6
Gelöst Shoptyp der Lizenz stimmt nicht überein Gambio-Connector 1
Neu Wahl der Kategorie für Breadcrumb Navigation auf Artikeldetailseite Betrieb / Pflege von JTL-Shop 2
Neu Telefonische Hilfe beim Start mit der WAWI User helfen Usern - Fragen zu JTL-Wawi 1
Neu Die "alte Leier": EVO Template der schwarze Footer-Hintergrund muss weg! Templates für JTL-Shop 1
Neu Text für Differenzbesteuerung in der Rechnung User helfen Usern - Fragen zu JTL-Wawi 6
Gelöst Berichtscontainer der Rechnungsvorlage verändern Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Wieso wird eine Änderung der Kunden-Emailadresse nicht in die Versandbenachrichtigung übernommen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Daten der eigenen Kundenfelder gehen verloren JTL-Shop - Fehler und Bugs 0
Neu Installation der Wawi - Datenbankverwaltung - Server installieren User helfen Usern - Fragen zu JTL-Wawi 3
Neu Teilweise doppelt erstellte Aufträge in der Wawi seit 1.0.2.1 JTL-POS - Fehler und Bugs 16
Neu Keine Bildervorschau in der Kasse User helfen Usern - Fragen zu JTL-Wawi 0
Neu Hilfe bei der Seitengeschwindigkeit Allgemeine Fragen zu JTL-Shop 1
Neu JTL-Wawi 1.6 - Mit der Ameise Alles (!) exportieren... News, Events und Umfragen 4
Neu Die Seite, nach der Sie suchen, wurde verschoben. Besuchen Sie bitte /orders-v3/order/302...... Amazon-Anbindung - Fehler und Bugs 3
Neu Übersicht der Variablen eBay-Designvorlagen - Ideen, Lob und Kritik 0
Offen Änderung der MwSt von 19 auf 16% per Workflow - Fehler "Der Auftrag wurde bereits abgerechnet" JTL-Workflows - Ideen, Lob und Kritik 4
Neu Packtisch+ Automatisch verpacken anhand der Auftragsnummer JTL-Wawi - Ideen, Lob und Kritik 1
Neu Ausgabe Rohertrag - Durchschnittspreis der Artikel zu den Bestellungen Individuelle Listenansichten in der JTL-Wawi 2
Neu Alle Bons- Button "in der Wawi suchen" fehlt ! JTL-POS - Fehler und Bugs 4
Ähnliche Themen