Protokollierung von Änderungen, die durch ein Datenmapping-Projekt vorgenommen wurden, mithilfe von Datenbank-Tracing
Datenbankadministratoren und andere Fachleute im Bereich Datenmanagement möchten oft eine Aufzeichnung von Änderungen in kritischen Datenbanken führen, insbesondere wenn Aktualisierungen durch automatisierte Skripte oder andere Prozesse vorgenommen werden. Datenbank-Tracing ermöglicht es Administratoren, wichtige Änderungen oder Anomalien zu verfolgen und bei der Fehlerbehebung zu helfen. Altova MapForce unterstützt das Datenbank-Tracing für alle gängigen relationalen Datenbanken, um die Änderungen, die ein Datenmapping-Projekt an der Datenbank vornimmt, während des Mapping-Prozesses zu protokollieren.
Wenn die Protokollierung aktiviert ist, werden Ereignisse wie Datenbankeinfüge- oder -aktualisierungsoperationen oder Fehler in einer XML-Datei gespeichert, die Sie später analysieren oder auf automatisierte Weise weiterverarbeiten können.
Die Datenbankablaufverfolgung kann auf Ebene der Datenbankkomponente, auf Ebene von Tabellen, gespeicherten Prozeduren oder Datenbankfeldern aktiviert werden. Wahlweise können alle Meldungen oder nur Fehlermeldungen protokolliert werden oder die Ablaufverfolgung kann komplett deaktiviert werden.

Zusätzlich zur Fehlerverfolgung, die während der Ausführung einer Transformation in eine Zieldatenbank auftritt, ermöglicht MapForce auch die Verwaltung von Datenbanktransaktionen. Bei einem Fehler kann dadurch der betroffene Teil der Datenbankdaten rückgängig gemacht werden, und anschließend, falls gewünscht, kann die restliche Transformation fortgesetzt werden.
Durch Aktivierung der Datenbanktransaktionsbehandlung werden alle durch die Datenbankkomponente vorgenommenen Änderungen in eine Transaktion eingeschlossen, die im Fall eines Fehlers mit Rollback rückgängig gemacht wird. Sie haben die Möglichkeit auszuwählen, ob das restliche Mapping danach fortgesetzt oder die Mapping-Ausführung beendet werden soll. Die Transaktionsbehandlung kann auf Ebene der Datenbankkomponente und auf Ebene von Tabellenaktionen aktiviert werden.
Schauen wir uns ein Beispiel für die Verfolgung von Datenbankaktivitäten an.
Der Ordner "MapForce-Beispiele" enthält eine Mapping-Datei namens "Altova_Hierarchical_DB", die hierarchische Daten aus einer XML-Datei auf Tabellen in einer Datenbank abbildet.

Durch einen Rechtsklick auf die blaue Leiste oben in der Datenbank wird ein Eigenschaftenfenster geöffnet, das eine Option zum Aktivieren der Protokollierung sowie die Angabe einer Protokolldatei für die Verfolgung ermöglicht. Die Protokollierung kann deaktiviert, nur für Fehler aktiviert oder für alle Aktionen aktiviert werden. Hier können Sie auch den Namen und den Pfad der Protokolldatei für die Datenbankverfolgung festlegen.

Wenn die Zuordnung durch Klicken auf die Schaltfläche "Ausgabe" unterhalb des Zuordnungsbereichs ausgeführt wird, werden zwei Dateien erstellt.
Zuerst wird hier direkt darunter eine Vorschau des SQL-Skripts angezeigt. Die Datenbank wird erst dann geändert, wenn die Option "SQL-Skript ausführen" im Menü "Ausgabe" ausgewählt wird. Die zweite Datei ist eine Vorschau des XML-Protokolls.


Die Protokolldatei wird später aktualisiert, basierend auf der tatsächlichen Ausführung des Skripts, wie in den Zeilen 2-3 oben dokumentiert.
Anpassen der Datenbank-Protokollierung
Manchmal möchten Sie nur bestimmte Operationen verfolgen. MapForce ermöglicht es Ihnen, die Protokollierung auf Tabellen-, Feld- oder gespeicherten Prozedur-Ebene anzupassen. In der hier gezeigten Zuordnung möchten wir möglicherweise alle Fehler protokollieren, sowie eine Aufzeichnung aller Vor- und Nachnamen erstellen, die zur Tabelle "Person" hinzugefügt werden.
Wir können dies erreichen, indem wir die Protokollierung für die oberste Ebene der Datenbank auf "Fehler" einstellen. Anschließend können wir die Protokollierung für die Tabelle "Personen" auf "Immer" einstellen und die Felder auswählen, die wir ausblenden oder anzeigen möchten

Wenn wir das SQL-Skript ausführen, zeigt das Vorschaufenster das Ergebnis jedes einzelnen SQL-Befehls an. In den folgenden Screenshots haben wir einen Namen hervorgehoben, um ihn zu betonen.

Das Protokoll enthält eine Liste aller Namen, die in die Tabelle "Personen" hinzugefügt wurden:

Jegliche Protokollierung, die einer Datenbankzuordnung hinzugefügt wird, wird ebenfalls ausgeführt, wenn die Zuordnung im automatischen Modus durch den MapForce Server oder unter der Steuerung des FlowForce Servers ausgeführt wird. Ein FlowForce Server-Job kann sogar die Verarbeitung der XML-Datei des Ausgabeprotokolls automatisieren, um einen benutzerdefinierten Bericht zu erstellen.
Um das Ergebnis unseres Beispiels weiter zu bestätigen, können wir die Datenbank mit DatabaseSpy öffnen, einem einzigartigen.. Werkzeug für die Abfrage, das Design und den Vergleich von Datenbanken, das mehrere Datenbanken unterstütztund erkunden Sie direkt den Inhalt der Tabelle:

In einem zukünftigen Beitrag werden wir uns mit der Behandlung von Datenbanktransaktionen befassen, um im Falle eines Fehlers den betroffenen Teil der Datenbankdaten rückgängig zu machen. In der Zwischenzeit können Sie die Datenbankverfolgung selbst ausprobieren, entweder indem Sie diesem Beispiel folgen oder Datenabbildungen für Ihre eigenen Datenbanken verwenden Laden Sie eine kostenlose Testversion von MapForce herunter.