Altova MapForce 2027 Professional Edition

In diesem Kapitel wird erläutert, wie Sie Datenbankdaten mit Hilfe der SQL/NoSQL-WHERE/ORDER-Komponente filtern und sortieren können. Mit Hilfe dieser Komponente können Sie manuell eine WHERE-Klausel eingeben, um Daten zu filtern. Optional können Sie auch Folgendes tun:

 

•eine ORDER BY-Klausel definieren, um die Datensätze nach einem bestimmten Datenbankfeld in auf- oder absteigender Ordnung zu sortieren.

•das Kontrollkästchen Nur eindeutige Zeilen auswählen aktivieren, damit die Datenbank nur eindeutige Zeilen zurückgibt.

 

Die SQL/NoSQL-WHERE/ORDER-Komponente muss mit einer Tabelle oder einem Feld einer Quelldatenbank verbunden werden. Sie können eine WHERE ORDER-Komponente auch mit einer Join-Komponente verbinden, um die zusammengeführten Datensätze zu filtern.

 

Hinzufügen einer SQL/NoSQL-WHERE ORDER-Komponente

Um eine SQL/NoSQL-WHERE/ORDER-Komponente zum Mapping hinzuzufügen, gehen Sie folgendermaßen vor:

 

1.Wählen Sie den Symbolleisten-Befehl SQL/NoSQL-WHERE/ORDER einfügen. Wählen Sie alternativ dazu im Menü Einfügen oder aus der Komponentengalerie den Befehl SQL/NoSQL-WHERE/ORDER. Standardmäßig hat diese Komponente die folgende Struktur:

mf_sql-where

2.Verbinden Sie eine Tabelle oder ein Feld der Quelldatenbank mit dem Datenelement db-object der WHERE/ORDER-Komponente.

3.Um eine WHERE-Klausel zu definieren, doppelklicken Sie auf die Überschrift der WHERE ORDER-Komponente. Klicken Sie alternativ dazu mit der rechten Maustaste darauf und wählen Sie im Kontextmenü den Befehl Eigenschaften. Daraufhin wird das Dialogfeld SQL/NoSQL-WHERE/ORDER-Eigenschaften geöffnet. In der Abbildung unten sehen Sie die Eigenschaften der WHERE/ORDER-Komponente in MapForceExamples\DB_PhoneList.mfd.

mf-sql-where-02_zoom60

4.Geben Sie eine WHERE-Klausel in das Textfeld oben ein. In unserem Beispiel gibt die WHERE-Klausel (Last LIKE :Name) Zeilen zurück, in denen das Feld Last mit dem durch den Parameter :Name definierten Muster übereinstimmt. Die Werte für diesen Parameter werden aus dem Mapping bereitgestellt. Fügen Sie Sie optional eine ORDER BY-Klausel hinzu. In unserem Beispiel sortiert die ORDER BY-Klausel die Last-Werte in aufsteigender Reihenfolge. Weitere Information finden Sie unter WHERE- und ORDER BY-Klauseln.

 

Parameter in SQL/NoSQL-WHERE/ORDER-Komponenten

Sie können in der WHERE-Klausel einer SQL/NoSQL-WHERE/ORDER-Komponente Parameter definieren. Diese sind eventuell nützlich, wenn Sie über das Mapping einen Wert an die WHERE-Klausel übergeben möchten.

 

In der oben gezeigten WHERE/ORDER-Komponente wurde die folgende WHERE-Klausel definiert:

 

Last LIKE :Name, wobei:

 

•Last sich auf den Namen des Datenbankfelds in der verbundenen Tabelle bezieht.

•LIKE ein SQL-Operator ist, der Musterabgleiche durchführt.

•:Name ein Parameter ist, der Werte aus dem Mapping erhält.

 

In MapForceExamples\DB_PhoneList.mfd sehen Sie Name als Parameter der WHERE/ORDER-Komponente (Abbildung unten).

mf_dbphonelist_zoom60

Der an diesen Parameter übergebene Wert wird folgendermaßen konstruiert:

 

•Die Konstante liefert den Wert B an die einfache Input-Komponente.

•Die Funktion concat kombiniert B mit der Wildcard %.

•Der verkettete Wert (B%) wird an den Parameter Name der WHERE/ORDER-Komponente übergeben. Die WHERE-Klausel gibt daher nur Nachnamen zurück, die mit dem Buchstaben B beginnen. Die Wildcard % steht für eine beliebige Anzahl von Zeichen.

 

Aussehen von SQL/NoSQL-WHERE/ORDER-Komponenten

Das Aussehen von SQL/NoSQL-WHERE/ORDER-Komponenten ändert sich, je nachdem welche Einstellungen darin definiert sind (siehe Tabelle unten).

 

mf-sql-where-03

Es wurde eine WHERE-Klausel definiert.

mf-sql-where-04

Es wurde eine WHERE-Klausel mit einem Parameter sqlparameter definiert.

mf-sql-where-05

Es wurde eine WHERE-Klausel mit einem Parameter und einer ORDER BY-Klausel definiert. Die Sortierreihenfolge wird durch das Sortiersymbol A-Z angezeigt.

 

Wenn Sie den Mauszeiger über die Titelleiste von SQL/NoSQL-WHERE/ORDER platzieren, wird ein Tooltip mit den Klauseln angezeigt, die definiert wurden.

 

Beispiele

Beispiele für die Verwendung der WHERE/ORDER-Komponente finden Sie in den folgenden Mappings:

 

•MapForceExamples\DB_PhoneList.mfd

•MapForceExamples\ParseJSONFromDB.mfd

 

© 2020-2026 Altova GmbH