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: 61
  • AlleKundenLoeschen.sql.txt
    426 Bytes · Aufrufe: 53

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
Neu tWarenkorbpos und tBestellung älter als 10 Jahre löschen JTL-Shop - Fehler und Bugs 0
Neu eBay Rahmenbedingungen löschen? Einrichtung und Installation von JTL-eazyAuction 1
alte Pending Aufträge löschen JTL-Wawi 1.10 0
OPC Spezialseite Versandinformationen Slider lässt sich nicht löschen/bearbeiten Einrichtung JTL-Shop5 1
Löschen von Verkaufskanal nicht möglich JTL-Wawi 1.10 2
Neu Kategorien/Kollektionen Bild löschen Shopify-Connector 0
Neu Löschen von Lieferantenbestellungen verhindern User helfen Usern - Fragen zu JTL-Wawi 0
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
Neuer Verkaufspreis eines Artikels wird in Angeboten/Aufträgen nicht übernommen, sondern nur der frühere ... JTL-Wawi 1.10 4
Neu Probleme mit der Email über jtl hosting (plesk) User helfen Usern 2
Neu Nach Update von WaWi 1.6 auf WaWi 1.10 kein Abgleich der Artikeldaten mehr möglich WooCommerce-Connector 0
Neu Fehlerhafte Darstellung der Box Stücklistekomponenten, wenn Konfigurationsartikel enthalten JTL-Wawi - Fehler und Bugs 0
Neu Ameise Übertrag der Textbeschreibung in den amz 2.0 Lister JTL-Ameise - Fehler und Bugs 4
Neu Unerklärliches Verhalten bei der Bestimmung der Seitenanzahl im Versandetikett Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Statistik über Zahlungsmoral der Kunden / Zahlungsverzug möglich? JTL-Wawi 1.9 4
Neu Shop 5 globale Variable die aus der Wawi gefüllt wird? Allgemeine Fragen zu JTL-Shop 0
Neu Änderung der Kundengruppe kein Einfluss im Shop Allgemeine Fragen zu JTL-Shop 2
Neu Sortieren und Ausgeben / Speichern / Drucken der externen Belege seit 1.10. Amazon-Anbindung - Fehler und Bugs 0
Neu Alarm SMS/E-Mail wenn der Worker nicht läuft Allgemeines zu den JTL-Connectoren 2
Neu Shopify Basic mit JTL? Wie einrichten? Ist der JTL Guide noch aktuelle wegen PII Einschränkung? Shopify-Connector 2
Neu Gibt es eine Möglichkeit Copilot Studio mit der JTL-Datenbank zu verbinden? User helfen Usern - Fragen zu JTL-Wawi 0
Zahlungsmodul in Kombination mit der Deutschen Bank funktioniert nicht JTL-Wawi 1.10 3
In Bearbeitung Kompakte Kasse gesucht mit der auch Kartenzahlung über 50 € funktioniert? JTL-POS - Fragen zu Hardware 4
Neu JTL Wawi braucht viel RAM und CPU wenn der Prozess lange läuft, ohne dass gearbeitet wird JTL-Wawi - Fehler und Bugs 2
Neu JTL Shop 5: ein Kundenkonto in der WAWI mit mehreren Konten im Webshop Allgemeine Fragen zu JTL-Shop 7
Nach Update auf 1.10.13.2 Probleme mit der POS Kasse JTL-Wawi 1.10 7
Neu Behandlung der Kasseneinnahmen als Händler statt als Endkunde im Wawi JTL-POS - Fehler und Bugs 0
Neu Rechnungsexport und Gutschriftenexport in der Ameise erzeugt doppelte Rechnungen / Gutschriften JTL-Ameise - Fehler und Bugs 1
kann man inzwischen aus der Wawi auf kaufland Varianten bilden, wenn ja, ab welcher Version? kaufland.de - Anbindung (SCX) 0
Neu Übermittlung der DHL Retourenetiketten ins DHL Geschäftsportal zum Druck JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu Hilfe bei Anpassung der JTL-Rechnung (v1.9.4.6) – EK pro Stück × Menge als Summe je Position + Privateinlage-Hinweis Dienstleistung, Jobs und Ähnliches 1
Neu PayPal V 2.0.2 mit Shop 5.5.2: Ablauf der Zahlung Plugins für JTL-Shop 13
Unterkategorien im Megamenü - Inaktiv in der Desktopversion, aktiv in der Mobilversion Einrichtung JTL-Shop5 1
Neu Hat jemand Erfahrung mit der Anbindung von TikTok Shop über Shopify? Einrichtung und Installation von JTL-eazyAuction 0
Probleme mit wawi, in der leiste wird kein onlineshop angezeigt JTL-Wawi 1.10 8
Neu Zurück/Abbrechen-Button nach Auswahl der Zahlungsart JTL-POS - Ideen, Lob und Kritik 1
Spalte "Verantwortliche Person" in der Artikelübersicht? JTL-Wawi 1.10 4
Neu Änderung des Layouts der Kategorieboxen im Nova Template Templates für JTL-Shop 6
Neu Ist es nicht möglich unter Plattformen - Neukunden sich die Mobilnummer anzeigen zu lassen, mit der die Kunden sich regsitriert haben? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Bestellungen aus der Vergangenheit Shopify-Connector 3
Neu Umsatzsteuer der Versandkosten JTL-Wawi - Fehler und Bugs 5
Artikel soll laut Wawi auf der Pickliste sein. Ist er er aber nicht. JTL-Wawi 1.9 1
Neu Status der eBay Angebote exportieren Schnittstellen Import / Export 2
Neu Sortierung, innerhalb der Sortiernummer? Allgemeine Fragen zu JTL-Shop 0
Externe Auftragsnummer in der Rechnung ausweisen JTL-Wawi 1.10 1
Neu Wie bringe ich die Anzeige der Lieferzeit in alle Artikelseiten? Allgemeine Fragen zu JTL-Shop 7
Neu Automatische Öffnung der Kassenlade nach dem Tagesabschluss (Z-Bericht) verhindern Allgemeine Fragen zu JTL-POS 0
Neu Automatische Öffnung der Kassenlade nach dem Tagesabschluss (Z-Bericht) verhindern Allgemeine Fragen zu JTL-Shop 0
Neu Einstellen von Variationen ohne Aufpreis (+) Angabe in der Variationsauswahl Allgemeine Fragen zu JTL-Shop 1

Ähnliche Themen