Ersetzen von Sonderzeichen

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

Startseite >  Datenquellen und -ziele > Datenbanken und MapForce > Einführung in Datenbank-Mappings >

Ersetzen von Sonderzeichen

Beim Transformieren von Datenbankdaten müssen Sie unter Umständen bestimmte Sonderzeichen wie z.B. Wagenrücklauf (CR)/ Zeilenvorschub (LF) aus der Datenquelle entfernen. Dies können Sie mit Hilfe der MapForce-Funktion "char-from-code"-Funktion bewerkstelligen.

 

Angenommen, Sie haben eine Microsoft Access-Datenbank bestehend aus einer Tabelle "Lines", die zwei Spalten enthält: "ID" und "Description".

mf_db_specialchars_01

Ziel ist es, die einzelnen Beschreibungen in eine CSV-Datei zu extrahieren (eine Beschreibung pro Zeile); ein Mapping, womit Sie dies erreichen, könnte folgendermaßen aussehen:

mf_db_specialchars_02

Da jedoch jede "Description"-Zeile in Access mehrere durch CR/LF-Zeichen getrennte Zeichen enthält, enthält auch das Mapping Zeilenumbrüche, was nicht erwünscht ist:

mf_db_specialchars_03

 

Um dieses Problem zu lösen, werden wir die Funktionen char-from-code und replace aus der Bibliothek der vordefinierten MapForce-Funktionen zum Mapping hinzufügen (siehe auch Arbeiten mit Funktionen). Jede Beschreibung muss verarbeitet werden, sodass die oben genannten Zeichen durch ein Leerzeichen ersetzt werden.

 

In der Unicode-Tabelle (http://www.unicode.org/charts/) entsprechen die Zeichen LF und CR den Hexadezimalzeichen hex 0A | dec 10 bzw. hex 0D | dec 13. Das Mapping muss daher geändert werden, um die Unicode-Dezimalwerte 13 und 10 in einen String zu konvertieren, damit die Daten mit Hilfe der replace Funktion weiter bearbeitet werden können.

mf_db_specialchars_04

Bei Anzeige einer Vorschau auf das Mapping sehen Sie jetzt, dass die Zeichen CR/LF in den einzelnen Datenbankfeldern durch Leerzeichen ersetzt wurden.

mf_db_specialchars_05


© 2019 Altova GmbH