Aktualisieren einer Tabelle

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Datenquellen und -ziele > Datenbanken und MapForce > Mappen von Daten auf Datenbanken >

Aktualisieren einer Tabelle

In diesem Beispiel wird gezeigt, wie Sie Daten einer vorhandenen Datenbanktabelle mit Daten aus einer XML-Quelldatei aktualisieren. Im Beispiel werden die folgenden Dateien verwendet:

 

altova-cmpy.xml - enthält die Quelldaten, die in die Datenbank eingefügt werden sollen
Altova_Hierarchical.xsd - das Schema, anhand dessen die obige Instanzdatei validiert wird
Altova.mdb - die Zieldatenbank, die aktualisiert werden soll

 

Sie finden all diese Dateien im Ordner <Dokumente>\Altova\MapForce2019\MapForceExamples\. Der vollständige Pfad wurde in der Folge aus Gründen der Einfachheit weggelassen.

 

Im Mapping in diesem Beispiel wird eine Beispieldatenbankdatei geändert. Es wird empfohlen, eine Sicherungskopie der Originaldatenbank zu erstellen und mit einer neuen Kopie zu arbeiten, bevor Sie die unten stehende Anleitung befolgen. Dadurch stellen Sie sicher, dass die Originaldaten nicht überschrieben werden und Sie dasselbe Ergebnis, wie unten beschrieben, erhalten. Nähere Informationen dazu finden Sie unter Ausführen von Mappings, die Datenbanken modifizieren.

 

Ziel des Mappings ist es, alle Datensätze in der Tabelle "Person" mit Instanzen von "Person" aus dem XML-Dokument zu aktualisieren. Jede Person in der XML-Datei hat ein PrimaryKey-Child-Element. Jede Person in der Tabelle "Person" hat eine PrimaryKey-Spalte. Nur die Datensätze, in denen der PrimaryKey einer Person in der XML-Datei mit dem PrimaryKey einer Person in der Datenbank übereinstimmt, müssen aktualisiert werden.

 

Gehen Sie dazu folgendermaßen vor:

 

Schritt 1: Fügen Sie die XML-Quellkomponente ein

Klicken Sie im Menü Einfügen auf XML-Schema/Datei und navigieren Sie zur Datei Altova_Hierarchical.xsd. Wenn Sie aufgefordert werden, eine Instanzdatei anzugeben, navigieren Sie zur Datei altova-cmpy.xml.

 

Schritt 2: Fügen Sie die Zieldatenbank ein

Klicken Sie im Menü Einfügen auf Datenbank und befolgen Sie die Anweisungen des Assistenten, um eine Verbindung zu Altova.mdb herzustellen (siehe Beispiel: Hinzufügen der Datenbank "altova.mdb" zum Mapping).

 

Schritt 3: Ziehen Sie die Verbindungen

Ziehen Sie die Mapping-Verbindungen wie unten gezeigt.

mf_db_update_01

 

Schritt 4: Konfigurieren Sie die Aktualisierungsaktion

1.Klicken Sie auf die Schaltfläche Aktion: Einfügen ( tbl-act-icon ) neben der Tabelle "Person".
2.Wählen Sie neben Aktion an Datensatz den Eintrag Aktualisieren, wenn... . Dadurch wird die Datenbankaktion in eine auf einer Bedingung basierende Aktualisierungsaktion geändert, d.h. der aktuelle Datensatz wird nur aktualisiert, wenn eine Bedingung erfüllt wird (siehe nächster Schritt).
3.Wählen Sie neben PrimaryKey den Wert gleich aus, wie unten gezeigt. Damit wird die Aktualisierungsbedingung definiert, d.h. der Datenbankdatensatz wird nur aktualisiert, wenn sein PrimaryKey-Wert gleich dem PrimaryKey-Wert aus dem Mapping ist.

mf_db_update_02

In diesem Beispiel wird der Ist-gleich-Operator auf das Feld PrimaryKey angewendet, was beim Aktualisieren von Datenbanken ein häufiges Szenario ist. Beachten Sie, dass auch an anderen Feldern, die nicht unbedingt Primärschlüssel sein müssen, Bedingungen definiert werden können. Wenn Sie z.B. gleich neben den Feldern First und Last auswählen, würden nur die Datensätze aktualisiert, in denen der Vor- und Nachname (first und last name) gleich dem Vor- und Nachnamen in der XML-Quelldatei ist.

 

Aktivieren Sie optional das Kontrollkästchen NULL gleich. In diesem Beispiel spielt das Kontrollkästchen keine Rolle, da weder das Feld PrimaryKey in der XML-Quelldatei noch das Feld PrimaryKey in der Datenbank Nullwerte enthält. Wenn Ihre Daten jedoch Nullwerte enthalten und solche Nullwerte als identisch behandelt werden sollen, sollten Sie dieses Kontrollkästchen aktivieren, da Sie sonst unerwünschte Ergebnisse erhalten könnten. Nähere Informationen dazu finden Sie unter Behandlung von Nullwerten in Datenbankaktionen.

 

4.Klicken Sie auf OK, um das Dialogfeld zu schließen. Beachten Sie, dass im Mapping anstelle der Schaltfläche Aktion: Einfügen tbl-act-icon nun eine Schaltfläche Aktion:Aktualisieren ( mf_db_ic_action_update ) angezeigt wird. Dies zeigt an, dass für diese Tabelle eine Aktualisierungsaktion konfiguriert wurde.

 

 

Schritt 5: Vorschau auf das Mapping und Aktualisieren der Datenbank

Klicken Sie auf das Register Ausgabe, um eine Vorschau auf das Mapping zu sehen. Es wird ein SQL-Skript generiert, das Aktionen enthält, die an der Datenbank ausgeführt werden sollen. Das Skript hat die Datenbank noch nicht geändert; dies dient nur zur Vorschau.

mf_db_update_03

So führen Sie das Skript an der Datenbank aus:

 

Klicken Sie im Menü Ausgabe auf SQL-Script ausführen.

 

Anmerkung:Das Ausführen des SQL-Skripts direkt von MapForce aus ist nur eine der Methoden, um eine Datenbank zu aktualisieren. Siehe auch Ausführen von Mappings, die Datenbanken modifizieren.

© 2019 Altova GmbH