Struktur der Ablaufverfolgungsdatei
Wenn die Ablaufverfolgung für eine Datenbankkomponente aktiviert wurde, wird in der unteren Hälfte der Komponente eine Ablaufverfolgungsstruktur angezeigt, z.B:
![mf_db_trace_04](./images/mf_db_trace_04.png)
Wie Sie oben sehen, gibt der oberste Node der Ablaufverfolgungsstruktur den Namen der Ablaufverfolgungsdatei, die bei Ausführung des Mappings geschrieben wird, an. Der Rest der Ablaufverfolgungsstruktur wird nach der Struktur der Datenbanktabellen oder gespeicherten Prozeduren, die Teil des Mappings bilden, modelliert. In diesem Beispiel ist der Name der Datenbank "TargetDatabase", daher ist in der Ablaufverfolgungsstruktur ein ähnliches Datenelement vorhanden.
Das Child-Datenelement von "TargetDatabase" ist users. Es entspricht der Datenbanktabelle "users". Die Datenbankkomponente in diesem Beispiel hat nur eine Tabellen, nämlich "users". Bei einer Komponente mit vielen Tabellen enthält die Ablaufverfolgungsstruktur alle in der Komponente vorhandenen Tabellen. Wenn Sie Tabellen oder gespeicherte Strukturen zur Datenbankkomponente hinzufügen oder daraus entfernen, wird die Ablaufverfolgungsstruktur entsprechend angepasst.
In diesem Beispiel wird auch eine init:users-Struktur angezeigt, da das Mapping so konfiguriert ist, dass noch vor der Einfüge-, Aktualisierungs- oder einer anderen Aktion eine Anfangsaktion ausgeführt wird. So ist die init-Struktur z.B. dann vorhanden, wenn laut Konfiguration vor dem Einfügen neuer Datensätze alle vorhandenen Datensätze gelöscht werden. Die Ablaufverfolgungsinformationen über diese Anfangsaktion (wie z.B. Löschen oder eine benutzerdefinierte SQL-Abfrage) und etwaige Fehler, die zu diesem Zeitpunkt auftreten, werden gesammelt.
In der trace:values-Struktur werden alle Spalten der Datenbanktabelle (in diesem Fall die Spalten der Tabelle "users") angezeigt. Bei gespeicherten Prozeduren werden in dieser Struktur die Parameter der gespeicherten Prozedur angezeigt. Standardmäßig ist die Ablaufverfolgung für alle Spalten aktiviert, Sie können jedoch, wie zuvor beschrieben, einstellen, für welche Spalten die Ablaufverfolgung durchgeführt werden soll.
Die trace:actions-Datenelemente geben an, welche Aktionen aktuell für die Datenbanktabelle definiert sind. In diesem Beispiel ist eine Datenbank aktualisieren-Aktion definiert, daher steht das Datenelement trace:update zur Verfügung. Wenn Sie die Komponente ändern und stattdessen eine Datenbankeinfügeaktion
definieren, ändert sich die Ablaufverfolgungsstruktur in trace:insert, usw. für andere Aktionsarten. Für gespeicherte Prozeduren wird stattdessen ein trace:execute-Aktion angezeigt.
Jede Ablaufverfolgungsaktion hat ein rows-affected-Attribut, das definiert, wie viele Zeilen von der jeweiligen Datenbankaktion betroffen sind.
Das Datenelement trace:error wird nur dann befüllt, wenn bei der Mapping-Ausführung ein Datenbankfehler auftritt. Es hat zwei Attribute, code und state. Der Text der error- und state-Werte wird vom Datenbanktreiber bereitgestellt und unterscheidet sich daher je nach Datenbankart.
Das Datenelement trace:summary enthält ein errors-Attribut, das die Anzahl der aufgetretenen Fehler enthält. Wenn keine Fehler gefunden aufgetreten sind, ist der Attributwert 0.
Anzeigen einer Vorschau auf Ablaufverfolgungsdateien
Wenn für eine Datenbankzielkomponente die Ablaufverfolgung aktivert ist, wird die Ablaufverfolgungsdatei, wenn Sie auf das Fenster Ausgabe klicken, auch in der Vorschau angezeigt. Dies ist hilfreich, wenn Sie wissen möchten, wie die Datei ungefähr aussehen wird. Beachten Sie, dass die tatsächlich generierte auf dem Ergebnis der Mapping-Ausführung basierende Ablaufverfolgungsdatei anders aussehen wird.