Altova MapForce 2024 Enterprise Edition

Altova Website: _ic_link Datenbank-Mapping

 

Sie können in MapForce Datenbanken sowohl als Datenquelle als auch als Datenziel verwenden.

 

Die nachstehende Tabelle enthält eine Liste aller unterstützten Datenbanken. Wenn es sich bei Ihrer Altova-Applikation um eine 64-Bit-Version handelt, stellen Sie sicher, dass Sie Zugriff auf die 64-Bit-Datenbanktreiber haben, die für die entsprechenden Datenbank benötigt werden.

 

Datenbank

Anmerkungen

Apache CouchDB 3.x

NoSQL-Datenbank. Nähere Informationen dazu finden Sie in der CouchDB-Dokumentation. Um zu erfahren, wie NoSQL-Datenbanken in MapForce funktionieren, lesen Sie nach unter NoSQL-Datenbanken.

Firebird 2.x, 3.x, 4.x


IBM DB2 8.x, 9.x, 10.x, 11.x


IBM Db2 für i 6.x, 7.4, 7.5

Logische Dateien werden unterstützt und als Ansichten angezeigt.

IBM Informix 11.70 und höher

Informix unterstützt Verbindungen über ADO, JDBC und ODBC. Die Implementierung unterstützt in keiner der Codegenerierungssprachen große Objektdatentypen. Bei Verwendung eines dieser Datentypen erzeugt MapForce (bei der Codegenerierung) eine Fehlermeldung.

MariaDB 10 und höher

MariaDB unterstützt native Verbindungen. Es sind keine separaten Treiber erforderlich.

Microsoft Access 2003 und höher

Zum Zeitpunkt der Verfassung dieser Dokumentation (Anfang September 2019) gibt es kein Microsoft Access Runtime für Access 2019. Sie können nur dann eine Verbindung von Altova-Produkten zu einer Access 2019-Datenbank herstellen, wenn Microsoft Access 2016 Runtime installiert ist und der Datentyp "Large Number" in der Datenbank nicht verwendet wird.

Microsoft Azure SQL-Datenbank

SQL Server 2016 Codebase

Microsoft SQL Server 2005 und höher

Microsoft SQL Server unter Linux


MongoDB 4.x

NoSQL-Datenbank. Nähere Informationen dazu finden Sie in der MongoDB-Dokumentation. Um zu erfahren, wie NoSQL-Datenbanken in MapForce funktionieren, lesen Sie nach unter NoSQL-Datenbanken.

MySQL 5 und höher

Versionen ab MySQL 5.7 unterstützen native Verbindungen. Es sind keine separaten Treiber erforderlich.

Oracle 9i und höher


PostgreSQL 8 und höher

PostgreSQL-Verbindungen werden sowohl als native Verbindungen als auch als treiberbasierte Verbindungen über Schnittstellen (Treiber) wie ODBC oder JDBC unterstützt. Für native Verbindungen werden keine Treiber benötigt.

Progress OpenEdge 11.6


SQLite 3.x

 

 

 

SQLite-Verbindungen werden als native, direkte Verbindungen zur SQLite-Datenbankdatei unterstützt. Es sind keine separaten Treiber erforderlich.

Sybase ASE15, 16


Teradata 16

Verbindungen werden über ADO.NET, JDBC und ODBC unterstützt.

 

Wenn durch ein Mapping Daten in eine Datenbanktabelle eingefügt werden, werden datenbankgenerierte ID-Felder nicht unterstützt.

 

Datenbankmappings in verschiedenen Ausführungsumgebungen

Wenn Sie Programmcode anhand eines Mappings generieren, ein Mapping zu einer MapForce Server-Ausführungsdatei kompilieren oder ein Mapping auf FlowForce Server bereitstellen, werden die mit den generierten Dateien gespeicherten Datenbankverbindungsinformationen an die jeweiligen Treiber bzw. an die für die ausgewählte Zielumgebung unterstützten Treiber angepasst (siehe Tabelle unten). Wenn als Mapping-Transformationssprache z.B. Java ausgewählt ist, so werden ADO-Verbindungen in JDBC konvertiert, wenn anhand des Mappings Java-Code generiert wird.

 

Wenn das Mapping in einer anderen Umgebung als MapForce ausgeführt wird, müssen Sie sicherstellen, dass die Datenbankinformationen auf dem Rechner, auf dem das Mapping ausgeführt wird, sinnvoll sind (So müssen Sie z.B. überprüfen, ob der Datenbanktreiber installiert und der Datenbankpfad korrekt ist und Zugriff auf den Datenbankserver besteht usw.).

 

Einige Datenbankverbindungen werden in einigen Zielumgebungen nicht unterstützt (siehe Tabelle unten).

 

Verbindungstyp/Ausführungsumgebung

C#

C++

Java

MapForce Server auf Windows

MapForce Server auf Linux/Mac

ADO

ADO Bridge

Wird beibehalten

Wird in JDBC konvertiert

Wird beibehalten

Wird in JDBC konvertiert

ADO.NET

Wird beibehalten

Benutzerdefiniert

Wird in JDBC konvertiert

Wird beibehalten

Wird in JDBC konvertiert

JDBC

Benutzerdefiniert

Benutzerdefiniert

Wird beibehalten

Wird beibehalten

Wird beibehalten

ODBC

ODBC Bridge

ODBC Bridge

Wird in JDBC konvertiert

Wird beibehalten

Wird in JDBC konvertiert

Natives PostgreSQL

Nicht unterstützt

Nicht unterstützt

Nicht unterstützt

Wird beibehalten

Wird beibehalten

Natives SQLite

Nicht unterstützt

Nicht unterstützt

Nicht unterstützt

Wird beibehalten

Wird beibehalten

 

Tabellenlegende:

 

Wird beibehalten bedeutet, dass der Datenbankverbindungstyp (z.B. JDBC) bleibt, wie in MapForce definiert.

Wird in JDBC konvertiert bedeutet, dass die Datenbankverbindung in eine Datenbankverbindungs-URL für JDBC konvertiert wird.

ADO Bridge oder ODBC Bridge bedeutet, dass der Verbindungsstring übernommen wird, wie in MapForce definiert, dass aber im generierten Code eine passende Klasse verwendet wird, die als ADO Bridge bzw. ODBC Bridge fungiert (z.B. System.Data.OleDb.OleDbConnection oder System.Data.Odbc.OdbcConnection).

Benutzerdefiniert bedeutet, dass Sie die Verbindungsinformationen manuell in das Dialogfeld Datenbankverbindungseinstellungen eingeben müssen, damit die Verbindung im generierten Code funktioniert.

 

 

Vermeiden potenzieller Probleme im Zusammenhang mit JDBC-Verbindungen in einer Java-Umgebung

Wenn das Mapping über JDBC mit einer Datenbank verbunden wird, stellen Sie sicher, dass der vom Mapping verwendete JDBC-Treiber auf Ihrem System installiert ist. Um die aktuellen JDBC-Einstellungen einer Datenbankkomponente in MapForce zu sehen, doppelklicken Sie auf die Überschrift der Datenbankkomponente. Daraufhin wird das Dialogfeld Komponenteneinstellungen geöffnet. Nähere Informationen finden Sie unter Datenbank-Komponenteneinstellungen und JDBC-Verbindung.

 

Wenn im Mapping eine Nicht-JDBC-Datenbankverbindung verwendet wird, kann die Verbindung bei der Generierung von Java-Code in eine JDBC-Verbindung umgewandelt werden, um die Kompatibilität mit einer Java-Umgebung zu gewährleisten. Nähere Informationen dazu finden Sie in der obigen Tabelle.

 

Wenn Sie die generierte Java-Applikation starten, muss eventuell der JDBC-Treiber als "Classpath"-Eintrag zur aktuellen Konfiguration hinzugefügt werden. Andernfalls könnte es bei der Ausführung der Applikation zu einem Fehler wie dem folgenden kommen: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver.

 

In diesem Unterabschnitt werden einige Methoden beschrieben, wie Sie Probleme im Zusammenhang mit JDBC beheben können.

 

 

Methode 1: Hinzufügen eines JDBC-Treibers als Abhängigkeit in Eclipse

Wenn Sie mit Eclipse arbeiten, muss ein JDBC-Treiber folgendermaßen als Abhängigkeit hinzugefügt werden:

 

1.Generieren Sie Java-Code in MapForce und importieren Sie das Projekt, wie unter Generieren, Bauen und Ausführen von Code beschrieben, in Eclipse.

2.Klicken Sie in Eclipse auf die gewünschte Konfiguration (z.B. MappingApplication).

3.Klicken Sie auf dem Register Dependencies auf Classpath entries und anschließend auf Add External JARs.

4.Navigieren Sie zur .jar-Datei Ihres JDBC-Treibers, (z.B. C:\jdbc\mysql\mysql-connector-java-5.1.16-bin.jar).

5.Klicken Sie auf Run, um das Programm mit dem als Abhängigkeit hinzugefügten JDBC-Datenbanktreiber auszuführen.

 

 

Methode 2: Hinzufügen des JDBC-Treibers zum Classpath als Testaufgabe in build.xml

Wenn Sie bei der Ausführung der Ant build.xml-Datei einen Fehler im Zusammenhang mit dem JDBC-Treiber erhalten, fügen Sie den JDBC-Treiber in build.xml zum Classpath der Aufgabe test hinzu. Im nachstehenden Codefragment sehen Sie ein Beispiel für eine Ant-test-Aufgabe, die eine Referenz auf die .jar-Datei des JDBC-Treibers enthält (unten gelb markiert).

 

<target name="test" depends="compile">
  <java classpath="C:\codegen\java\mysql_mapping" classname="com.mapforce.MappingConsole" fork="true" failonerror="true">
     <classpath>
        <pathelement path="${classpath}"/>
        <pathelement location="C:\jdbc\mysql\mysql-connector-java-5.1.16-bin.jar"/>
     </classpath>
     <arg line="${cmdline}"/>
  </java>
</target>

 

 

Methode 3: Inkludieren des JDBC-Treibers in den Manifest-Abschnitt der Applikation

Wenn Sie JAR-Dateien anhand der generierten Java-Applikation bauen, fügen Sie im manifest-Abschnitt der build.xml Datei eine Referenz zum Datenbanktreiber hinzu. Auf diese Weise stellen Sie sicher, dass die Referenz zum Datenbanktreiber nach Erstellung des Projekts in der manifest-Datei (MANIFEST.MF) vorhanden ist.

 

Um die Datenbankreferenz zur manifest-Datei hinzuzufügen, gehen Sie folgendermaßen vor:

 

1.Suchen Sie in der build.xml-Datei das Element manifest.

2.Fügen Sie ein neues Attribut namens attribute hinzu, wobei das Attribute name Class-Path und das Attribut value der Name der .jar-Datei ist. So könnte die aktualisierte manifest-Datei für MySQL 5.1.16 z.B. folgendermaßen aussehen (Beachten Sie die gelb markierte Zeile):

 

<manifest file="C:\codegen\java\mysql_mapping/META-INF/MANIFEST.MF" mode="replace">
  <attribute name="Created-By" value="MapForce 2024"/>
  <attribute name="Main-Class" value="com.mapforce.MappingConsole"/>
  <attribute name="Class-Path" value="mysql-connector-java-5.1.16-bin.jar"/>
</manifest>

 

3.Kopieren Sie die JAR-Datei des JDBC-Treibers in den Ordner, der die JAR-Datei der generierten Applikation enthält.

 

© 2018-2024 Altova GmbH