Datenbankablaufverfolgung und Fehlerprotokollierung
Wenn bei einem Mapping Daten in eine Datenbank geschrieben werden, haben Sie die Möglichkeit, die Datenbankablaufverfolgung und Fehlerprotokollierung zu aktivieren. Die Ablaufverfolgung ist nützlich, wenn Sie aufzeichnen möchten, welche Änderungen während der Ausführung des Mappings vom Mapping an der Datenbank vorgenommen werden. Wenn die Ablaufverfolgung aktiviert ist, werden Ereignisse wie Einfügungen in die Datenbank oder Aktualisierungsaktionen in einer XML-Datei, die Sie später analysieren oder eventuell auf automatisierte Weise weiterverarbeiten können, protokolliert. Wenn Sie die Log-Datei in einem anderen Format als XML haben möchten, können Sie Daten daraus optional auf eine andere, von MapForce unterstützte Komponentenart (z.B. eine Textdatei oder sogar eine andere Datenbank) mappen.
Anmerkung: | Damit die Ablaufverfolgung und Fehlerprotokollierung von einem Mapping unterstützt wird, muss als Mapping-Sprache Built-in ausgewählt sein. Die Datenbankablaufverfolgung und Fehlerprotokollierung wird in C#, C++ oder Java nicht unterstützt. |
Die Datenbankablaufverfolgung ist konfigurierbar. Sie können alle Meldungen oder nur Fehler aufzeichnen lassen oder die Ablaufverfolgung komplett deaktivieren. Zusätzlich dazu können Sie die Ablaufverfolgung auf folgenden Ebenen verwenden:
•Auf Ebene der Datenbankkomponente. Auf dieser Ebene schalten Sie die Ablaufverfolgung für diese Datenbankkomponente effektiv ein oder aus. Dies eignet sich für Mappings mit mehreren Zielkomponenten, bei denen die Ablaufverfolgung nur für einige davon benötigt wird.
•Auf Ebene von Tabellen oder gespeicherten Prozeduren. Sie können für eine Datenbankkomponente festlegen, ob die Ablaufverfolgung für jede Tabelle oder gespeicherte Prozedur aktiviert werden soll. Wenn die Ablaufverfolgung aktiviert ist, betrifft dies auf dieser Ebene Ereignisse im Zusammenhang mit Tabellenaktionen wie "Alle einfügen", "Aktualisieren, wenn", "Ignorieren, wenn", "Löschen, wenn". Im Fall von gespeicherten Prozeduren werden Ereignisse im Zusammenhang mit dem Aufruf der gespeicherten Prozedur aufgezeichnet.
•Auf Ebene von Datenbankfeldern. Standardmäßig ist die Ablaufverfolgung für alle Felder aktiviert, Sie können jedoch bestimmte Felder von der Ablaufverfolgung ausnehmen oder Sie können festlegen, dass diese nur bei einem Fehler in die Ablaufverfolgungsdatei aufgenommen werden sollen.
Beachten Sie, dass die drei Ebenen hierarchisch sind und die Ablaufverfolgungseinstellungen von oben nach unten weitergegeben werden. Wenn Sie die Ablaufverfolgung daher auf Ebene der Datenbankkomponente deaktivieren, kann sie nicht auf der Ebene von Tabellen oder gespeicherten Prozeduren aktiviert werden. So ist es auch nicht möglich, die Ablaufverfolgung auf der Ebene von Datenbankfeldern (Spalten) zu aktivieren, wenn Sie diese auf Tabellenebene deaktiviert haben. Dasselbe gilt, wenn Sie die Ebene der Ablaufverfolgung einschränken. Wenn Sie die Ablaufverfolgung auf Ebene der Datenbankkomponente auf Fehler eingeschränkt haben, können Sie keine uneingeschränkte Ablaufverfolgung auf Ebene von Tabellen oder gespeicherten Prozeduren durchführen.
Ablaufverfolgung auf Ebene der Datenbankkomponente
Um die Ablaufverfolgung auf Ebene der Datenbankkomponente zu aktivieren, gehen Sie folgendermaßen vor:
1.Klicken Sie mit der rechten Maustaste auf die Datenbankkomponente und wählen Sie im Kontextmenü den Befehl Eigenschaften (Oder doppelklicken Sie alternativ dazu auf die Titelleiste der Datenbankkomponente). Daraufhin wird das Dialogfeld "Komponenteneinstellungen" für die Datenbank geöffnet.
![mf_db_trace_01](./images/mf_db_trace_01.png)
2.Wählen Sie die gewünschte Ablaufverfolgungsebene aus (Immer, Fehler, Deaktiviert). Bei Auswahl von Fehler wird nur dann eine Ablaufverfolgungsdatei erstellt, wenn während der Mapping-Ausführung Fehler auftreten.
3.Geben Sie neben Ablaufverfolgungsdatei den Namen oder Pfad der XML-Datei ein, in die alle Ablaufverfolgungsinformationen geschrieben werden sollen (z.B. Log.xml). Wenn Sie anstelle eines vollständigen Pfads einen Dateinamen eingeben, wird die Ablaufverfolgungsdatei im selben Verzeichnis erstellt, in dem das Mapping ausgeführt wird.
Nachdem Sie die Ablaufverfolgung aktiviert haben, ändert sich die Struktur der Datenbankkomponente im Mapping. Zusätzlich zur Datenbankstruktur wird eine neue Node-Hierarchie von Datenelementen angezeigt, bei denen das oberste Datenelement in der Hierarchie die Ablaufverfolgungsdatei ist. Nähere Informationen dazu finden Sie unter Struktur der Ablaufverfolgungsdatei.
Wenn Sie die Ablaufverfolgung auf Ebene der Datenbankkomponente aktivieren, wird sie automatisch für alle Tabellen oder gespeicherten Prozeduren in dieser Komponente, zu denen eine Mapping-Verbindung vorhanden ist, aktiviert. Falls nötig, können Sie die Ablaufverfolgung auf der Ebene von Tabellen oder gespeicherten Prozeduren noch genauer anpassen, wie weiter unten beschrieben. Beachten Sie, dass Tabellen oder gespeicherte Prozeduren, die in der Komponente angezeigt werden, aber nicht Teil des Mappings bilden (d.h. zu denen keine Mapping-Verbindungen bestehen), nicht in die Ablaufverfolgung eingeschlossen werden.
Ablaufverfolgung auf Ebene von gespeicherten Prozeduren
Um die Ablaufverfolgung auf Ebene von Tabellen oder gespeicherten Prozeduren zu aktivieren, gehen Sie folgendermaßen vor:
1.Stellen Sie sicher, dass auf Ebene der Datenbankkomponente als Ablaufverfolgungsebene entweder Immer oder Fehler ausgewählt ist (siehe oben).
2.Wählen Sie eine der folgenden Methoden:
oKlicken Sie neben der Tabelle, für die Sie die Ablaufverfolgung aktivieren möchten, auf die Schaltfläche für die Tabellenaktion (z.B. ) oder
oWenn es sich um eine gespeicherte Prozedur handelt, klicken Sie auf die Schaltfläche Kontextmenü anzeigen und wählen Sie anschließend im Kontextmenü den Befehl Prozedureinstellungen aus.
![mf_db_trace_02](./images/mf_db_trace_02.png)
3.Wählen Sie die Ablaufverfolgungsebene aus. Bei Auswahl der Option Komponenteneinstellungen verwenden werden die auf Komponentenebene definierten Einstellungen übernommen. Mit der Option Auf Fehler einschränken wird die Ablaufverfolgung auf Fehlerereignisse eingeschränkt. Mit Immer deaktiviert wird für diese Tabelle oder gespeicherte Prozedur keine Ablaufverfolgung durchgeführt.
Ablaufverfolgung auf Ebene von Datenbankfeldern
Wenn Sie die Ablaufverfolgung auf der Ebene von Datenbankkomponenten und Tabellen oder gespeicherten Prozeduren aktivieren, werden standardmäßig alle Felder (Datenbankspalten) in den Ablaufverfogungsbericht inkludiert. Sie können die Ablaufverfolgung optional auf bestimmte Datenbankfelder oder Parameter von gespeicherten Prozeduren einschränken. Klicken Sie dazu im Dialogfeld "Datenbankaktionen" oder "Einstellungen für Datenbankprozeduren" (siehe oben) auf die Schaltfläche Felder.
![mf_db_trace_03](./images/mf_db_trace_03.png)
Eine in diesem Dialogfeld definierte Auswahl wirkt sich auf die Struktur der Ablaufverfolgungsdatei aus. So scheinen etwa Felder, die Sie ausgeblendet haben, in der Ablaufverfolgungsdatei nicht mehr auf. Dies ist unter Umständen nützlich, um die Größe der Log-Datei zu reduzieren.
Um mehrere Felder auf einmal auszublenden oder zu inkludieren, aktivieren Sie die entsprechende Option in der Überschrift.