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.243
1.515
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: 54
  • AlleKundenLoeschen.sql.txt
    426 Bytes · Aufrufe: 48

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
CustomWorkflow - Zahlung löschen JTL-Wawi 1.9 2
dbo.tFile und tZahlungsabgleichLogeintrag - kann man hier gefahrlos Datensätze löschen? JTL-Wawi 1.9 5
Neu SQL Query zum Bilder löschen Arbeitsabläufe in JTL-Wawi 3
Fehlermeldung nach Bildupdate,-löschen,-ändern Shopware-Connector 1
Neu fehlerhaften / offenen Lieferschein vom WMS wieder löschen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu Alle Nachrichten löschen Servicedesk (Beta) 5
Amazon Angebote lassen sich nicht löschen! JTL-Wawi 1.9 0
Neu Artikel lässt sich im Shop 5.2.5 über die Wawi nicht löschen JTL-Shop - Fehler und Bugs 2
Von Workflow lokal gespeicherte Datei direkt wieder löschen lassen JTL-Wawi 1.8 1
Angebote aus F10 / Plattformen => Weitere Plattformen löschen JTL-Wawi 1.9 0
Neu Warenkorb - löschen von Artikeln Betrieb / Pflege von JTL-Shop 3
Probleme beim Export mit der Ameise JTL-Wawi 1.7 1
Neu Megamenü Anzahl der Kategrien je Zeile von vier auf sechs erhöhen Templates für JTL-Shop 0
Neu Versanddaten nicht übermittelt. Fehlermeldung in der Spalte Status Versand/Zahlung eBay-Anbindung - Fehler und Bugs 1
Neu Kumulierte Menge der Artikelpositionen vor dem Speichern des Auftrags einsehen Eigene Übersichten in der JTL-Wawi 0
Neu "Variationsvorschau anzeigen" in der Galerie funktioniert nicht JTL-Shop - Fehler und Bugs 2
Neu Verkaufskanalverwaltung: languageIso / Der Wert darf nicht NULL sein. Shopware-Connector 1
Neu Woran erkennen, dass der Connector funktioniert? Technische Fragen zu den JTL-Connectoren 0
Aktuelle Störung der SCX-Schnittstelle und weiterer JTL-Systeme Störungsmeldungen 1
Neu Anpassung der Rechnungsansicht bei zu langen Artikelbeschreibungen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Amazonspezifische Variablen in der Voralgenerstellung Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Merkmalfilter: Ausgabe der Kindartikel möglich? Betrieb / Pflege von JTL-Shop 0
Neu Sehr lange Ladezeit der Produktseite nach Upgrade auf Version 5.4 Allgemeine Fragen zu JTL-Shop 6
JTL-Search - Hardwarestörung auf einem der Search-Server (s7) Störungsmeldungen 0
Neu Anzeige der Konten in der Wawi User helfen Usern - Fragen zu JTL-Wawi 2
Neu POS Aufträge in der Wawi nicht abgeschlossen, stehen somit im Versand als "offen" JTL-POS - Fehler und Bugs 2
Neu Wie löscht man eine Lizenz aus der Lizenzverwaltung im KC? Allgemeine Fragen zu JTL-Shop 2
Neu Spontane Überarbeitung der Versandbedingungen bei Ebay eBay-Anbindung - Fehler und Bugs 1
Konfigurationsartikel mit 0 € vs. Preise der einzelnen Komponenten mit 0 € Einrichtung JTL-Shop5 1
Tiefe der Navigation JTL-Wawi 1.9 1
Welche Barcodeschriftart ist zu verwenden, damit der Druck auch von einem iOS-Gerät korrekt ausgeführt wird? JTL-Wawi App 7
Neu Preisdarstellung mit der niedrigsten Staffelung Allgemeine Fragen zu JTL-Shop 5
Neu durchscnittlicher VK der Kundengruppe Eigene Übersichten in der JTL-Wawi 4
Neu Shop 5.4.0: Zahlungsarten nun als Position in der Wawi? JTL-Shop - Ideen, Lob und Kritik 17
Neu Wird der Woocommerce Connector eigentlich noch gepflegt? WooCommerce-Connector 0
Neu Bestandsvariable in der Sprachvariable ampelGelb Templates für JTL-Shop 0
Nummernliste der Bilder in mobiler Ansicht entfernen Einrichtung JTL-Shop5 8
Kampagnenreiter in der Auftragsansicht JTL-Wawi 1.8 1
Neu Hauptbild wird bei Wechsel der VarKombi nicht angezeigt Betrieb / Pflege von JTL-Shop 3
Neu Einstellung der Deutsche Post Portokasse JTL-ShippingLabels - Ideen, Lob und Kritik 16
Neu Artikelnamen auf der Homepage vollständig sehen. Er ist wenn er zu lang ist verkürzt. Allgemeine Fragen zu JTL-Shop 2
Neu Picken nur von dem Lagerplatz, der 100 % der Aufträge bedienen kann Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu Anzeige der Vorgangsstatus im JTL Shop 5 Betrieb / Pflege von JTL-Shop 1
Neu Zusätzliche Bearbeitungszeit wird nicht bei der Lieferzeit an Shopware 6 berücksichtigt Shopware-Connector 0
Neu Artikel mit Zustand beschädigt wird nicht als eigenständiger Artikel in der WaWi angezeigt User helfen Usern - Fragen zu JTL-Wawi 1
Neu Geht bei Euch das Aufladen der Portokasse in DHL-Onlinefrankierung? JTL-ShippingLabels - Ideen, Lob und Kritik 12
Neu Fehlermeldung: Fehler bei der Kommunikation mit dem eA-Server eBay-Anbindung - Fehler und Bugs 3
Neu Workflow der prüft, ob eine Bestellung komplett aus einem bestimmten Lager lieferbar ist. User helfen Usern - Fragen zu JTL-Wawi 7
Neu Kommentare von der Retoure in WMS einsehen\ Retoure wiederfinden User helfen Usern - Fragen zu JTL-Wawi 0
Neu Umbuchung der Lizenzen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2

Ähnliche Themen