Bulk-Einfügungen (MapForce Server)

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 >

Bulk-Einfügungen (MapForce Server)

Mit dem Befehl Bulk Transfer verwenden können Sie Daten aus einer MapForce-Komponente (TXT, CSV, DAT, usw.) sehr schnell in eine Datenbanktabelle einfügen. Auf diese Art können Sie das Einfügen von Daten enorm beschleunigen, da nur eine Anweisung anstatt mehrerer ausgeführt werden muss.

 

Die Option Bulk Transfer verwenden kann in MapForce, wie unten gezeigt, während des Mapping-Designs aktiviert werden. Ein Mapping, bei dem diese Option aktiviert ist, kann in MapForce ausgeführt werden, doch wird zu diesem Zeitpunkt keine Bulk-Einfügung angewendet. Der eigentliche Bulk-Transfer von Daten erfolgt, wenn das Mapping von MapForce Server ausgeführt wird.

 

Der Bulk Transfer wird unter folgenden Bedingungen unterstützt:

 

Als Mapping-Transformationssprache muss BUILT-IN definiert sein. Nähere Informationen dazu finden Sie unter Auswählen einer Transformationssprache.
Das Mapping wird von MapForce Server ausgeführt (entweder Standalone oder unter FlowForce Server-Verwaltung). Das bedeutet, dass das Mapping entweder zum .mfx-Format kompiliert oder auf FlowForce Server bereitgestellt werden muss. Nähere Informationen dazu finden Sie unter Kompilieren von Mappings zu MapForce Server-Ausführungsdateien und Bereitstellen von Mappings auf FlowForce Server.
Die MapForce Server-Lizenz ist auf einem Mehrkernrechner nicht auf "Single Thread-Ausführung" eingeschränkt, d.h. das Kontrollkästchen Limit to single thread execution auf dem Register "Server Management" von Altova LicenseServer muss deaktiviert sein.
Die Datenbankaktion ist "Alles einfügen", siehe auch Einstellungen für Datenbankaktionen.
Es muss sich bei der Tabelle, in die die Daten im Bulk geladen werden, um ein Tabellenblatt, d.h. ein Blatt der untersten Hierarchieebene der Datenbank handeln. Es sollten keine Tabellen, Ansichten oder gespeicherten Prozeduren vorhanden sein, die die Tabelle im Mapping referenzieren.
Der Datenbanktreiber unterstützt Bulk-Einfügungen bei WHERE-Bedingungen.

 

 

Die folgende Tabelle enthält einen Überblick über die Unterstützung von Bulk-Einfügungen, abhängig von der Datenbankart und dem verwendeten Treiber.

 


ADO

ODBC

JDBC

ADO.NET

Nativ

Access

Nein

Nein

n/a 

n/a

n/a

DB2

Nein

Ja

Ja

Ja

n/a

Firebird

n/a

Ja

Ja

Nein

n/a

Informix

Nein

Ja

Ja

Ja

n/a

iSeries

Nein

Ja

Ja

Ja

n/a

MariaDB

Nein

Ja

Ja

Ja

n/a

MySQL

n/a

Ja*

Ja

Ja

n/a

Oracle

Nein

Ja

Ja

Ja

n/a 

PostgreSQL

n/a

Ja

Ja

n/a

Ja

Progress

n/a

Ja

Ja

n/a

n/a

SQL Server

Ja

Ja

Ja

Ja

n/a

SQLite

n/a

n/a

n/a

n/a 

Nein

Sybase

Nein

Ja

Ja

n/a

n/a 

Teradata

n/a

Ja

Ja

n/a

n/a

 

* MySQL version 5 oder höher erforderlich

 

In diesem Beispiel wird gezeigt, wie Sie ein Mapping erstellen, das Daten aus der Beispieldatei source.txt im Bulk in eine Zieldatenbank lädt. Im Beispiel werden SQL Server 2014 und die AdventureWorks 2014-Datenbank verwendet. Letzere kann von der AdventureWorks-Beispielseite auf GitHub (https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks) heruntergeladen werden.

 

Location A,15.3,39

Location B,46,34

Location C,56.33,0

Location D,0,399

Location E,0,97.43

source.txt

So definieren Sie eine Bulk-Einfügung:

1.Definieren Sie als Transformationssprache BUILT-IN ( ic-builtinActive ).
2.Stellen Sie eine Verbindung zur Datenbank AdventureWorks 2014 her und fügen Sie die Tabelle "Production.Location" zum Mapping hinzu. Nähere Informationen dazu finden Sie unter Hinzufügen von Datenbanken zum Mapping.

mf_db_bulk_01

3.Klicken Sie im Menü Einfügen auf Text und fügen Sie als Quelle eine Textdatei (wie die Beispieldatei source.txt oben) zum Mapping hinzu. Nähere Informationen finden Sie unter CSV- und Textdateien. Stellen Sie sicher, dass die Datentypen von Quell- und Zielkomponente kompatibel sind. Die Datentypen sind in der Komponente sichtbar, wenn Sie die Symbolleisten-Schaltfläche Datentypen anzeigen ( ic-show-types ) aktivieren.

mf_db_bulk_02

4.Ziehen Sie die Mapping-Verbindungen wie unten gezeigt. Beachten Sie, dass nun die Datenbankaktionsschaltfläche tbl-act-icon rechts vom Tabellennamen angezeigt wird.

mf_db_bulk_03

5.Klicken Sie auf die Datenbankaktionsschaltfläche tbl-act-icon , aktivieren Sie das Kontrollkästchen Bulk Transfer verwenden und klicken Sie auf OK.

mf_db_bulk_04

 

Beachten Sie, dass als "Aktion an Datensatz" im Dialogfeld oben "Alles einfügen" ausgewählt ist. Im Feld Stapelgröße wird die Anzahl der Datensätze definiert, die pro Aktion eingefügt werden.

 

Anmerkung:Wenn die Option Bulk Transfer verwenden aktiv ist, wird die Option Transaktionen verwenden deaktiviert und umgekehrt. Wenn Sie die Transaktionsverarbeitung aktivieren möchten, klicken Sie auf das Kontrollkästchen Bulk Transfer verwenden, um es zu deaktivieren.

 

Nachdem Sie die Bulk-Einfügung nun aktiviert haben, ist der nächste Schritt die Ausführung des Mapping mit MapForce Server (entweder Standalone Edition oder unter Verwaltung von FlowForce Server). Nähere Informationen dazu finden Sie unter Kompilieren von Mappings zu MapForce Server-Ausführungsdateien und Bereitstellen von Mappings auf FlowForce Server.


© 2019 Altova GmbH