Lokale Beziehungen in Quellkomponenten
In diesem Beispiel wird gezeigt, wie Sie von einer gespeicherten Prozedur zurückgegebene Daten mit Hilfe lokaler Beziehungen mit Daten aus einer Tabelle in derselben Datenbank kombinieren.
Starten Sie das folgende Skript, um die gespeicherte Demo-Prozedur in der Datenbank "AdventureWorks" zu erstellen, falls dies noch nicht geschehen ist. Sie können dies entweder von einem Abfragefenster von Microsoft SQL Server Management Studio aus oder direkt auf dem Register DB-Abfrage von MapForce (siehe Anzeigen und Abfragen von Datenbanken) tun. Vergewissern Sie sich in jedem Fall, dass Ihr Datenbankbenutzerkonto Rechte zum Erstellen von gespeicherten Prozeduren hat.
CREATE PROCEDURE HumanResources.uspGetAllEmployees |
Die obige gespeicherte Prozedur gibt Mitarbeiterdaten aus der Ansicht vEmployeeDepartment zurück. In der folgenden Anleitung wird beschrieben, wie Sie ein Mapping erstellen, das die von dieser Prozedur zurückgegebenen Daten verarbeitet.
1.Stellen Sie in MapForce eine Verbindung zur Datenbank "AdventureWorks" her, wie unter Hinzufügen von gespeicherten Prozeduren zum Mapping beschrieben. Vergewissern Sie sich, dass Ihr Datenbankbenutzerkonto Rechte zum Anzeigen und Ausführen von gespeicherten Prozeduren hat.
2.Wenn Sie aufgefordert werden, Datenbankobjekte auszuwählen, wählen Sie die Tabelle Department und die gespeicherte Prozedur uspGetAllEmployees aus.
3.Klicken Sie neben der gespeicherten Prozedur auf die Schaltfläche Kontextmenü anzeigen und wählen Sie den Befehl Nodes als Quelle anzeigen.
4.Klicken Sie nochmals auf die Schaltfläche Kontextmenü anzeigen und wählen Sie Datensatzstrukturen bearbeiten. Daraufhin wird das Dialogfeld "Datensatzstrukturen" angezeigt.
5.Klicken Sie auf Input-Parameter definieren und Prozedur aufrufen. Daraufhin wird das Dialogfeld "Gespeicherte Prozedur auswerten" angezeigt.
6.Klicken Sie auf Ausführen und anschließend auf OK. Die Datensatzstruktur ("RS1") ist nun sowohl im Dialogfeld "Datensatzstrukturen" als auch im Mapping sichtbar.
Definieren der lokalen Beziehungen
Wir wollen nun eine lokale Beziehung zwischen der Spalte Department der zurückgegebenen Datensatzstruktur und der Spalte Name der Tabelle Department definieren.
1.Klicken Sie mit der rechten Maustaste auf die Titelleiste einer Datenbankkomponente und wählen Sie im Kontextmenü den Befehl Datenbankobjekte hinzufügen/entfernen/bearbeiten.
2.Klicken Sie auf Beziehungen hinzufügen/bearbeiten und anschließend auf Beziehung hinzufügen. Definieren Sie die Beziehung, wie unten gezeigt.
3.Klicken Sie auf OK, um das Dialogfeld zu schließen. Beachten Sie, dass die Tabelle Department nun zu einem Child der Datensatzstruktur RS1 geworden ist.
Fertigstellung des Mappings
Dank der soeben erstellen Beziehung können nun Daten aus der Datensatzstruktur, die mit Daten aus der Tabelle kombiniert wurden, gemappt werden. In diesem Beispiel werden Daten folgendermaßen in eine XML-Zieldatei geschrieben.
1.Klicken Sie im Menü Einfügen auf XML-Schema/Datei und wählen Sie die folgende Datei aus: <Dokumente>\Altova\MapForce2025\MapForceExamples\EmployeesWithDetails.xsd.
2.Wenn Sie aufgefordert werden, eine XML-Beispieldatei bereitzustellen, klicken Sie auf Überspringen.
3.Ziehen Sie die Mapping-Verbindungen, wie unten gezeigt.
Im oben gezeigten Mapping werden Daten aus der Datenbank in eine XML-Zieldatei geschrieben. Bei den Quelldaten handelt es sich um Daten, die durch die gespeicherte Prozedur extrahiert wurden und mit direkt aus einer Tabelle extrahierten Daten kombiniert wurden. Mit Hilfe der concat-Funktion wird ein String erzeugt, der den Abteilungsnamen, gefolgt von einem Bindestrich, gefolgt vom Gruppennamen enthält.
Sie können nun eine Vorschau auf das Mapping anzeigen. Klicken Sie auf das Fenster Ausgabe, um das Ergebnis des Mappings im Fenster Ausgabe zu sehen, z.B.: