このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2020 Enterprise Edition

「バルク転送」 コマンドにより MapForce コンポーネント (TXT、CSV、DAT など)からデータベース テーブルに高速にデータを挿入することができます。このオプションを使用することにより、1つのステートメントを実行することにより、挿入プロセスを劇的にスピードアップすることができます。

 

「バルク転送を使用」 オプションは、マッピングのデザイン時に下に示されるとおり、 MapForce 内で有効化することができます。このオプションが有効化することのできるマッピングは、 MapForce 内で実行することができまが、バルク挿入はこの時点では適用することはできません。データの実際のバルク転送は MapForce Server によりマッピングが実行された時に起こります。

 

バルク転送は以下の条件が満たされた場合にサポートされます

 

マッピング変換言語が BUILT-IN に設定されている場合。詳細に関しては、次を参照してください:変換言語の選択

マッピングが(スタンドアロン、または FlowForce Server の管理下で) MapForce Server により作動している場合。 これは、マッピングが .mfx フォーマットにコンパイルされるか、または FlowForce Server にデプロイされる必要があることを意味します。詳細に関しては、次を参照してください:MapForce Server 実行可能ファイルにマッピングをコンパイルするFlowForce Server にマッピングをデプロイする

MapForce Server ライセンスは、マルチコアマシン上の "単一スレッドの実行" だけに制限されません。 つまり、 チェックボックス Altova LicenseServer の "サーバー 管理" タブ内の 「単一スレッドの実行に制限する」 が無効化されている必要があります。

データベースアクションは「全て挿入する」です。 次も参照してください: データベーステーブルアクション設定

データがバルクにロードされるテーブルは、 "リーフテーブル" である必要があります。すなわち、データベースの一番下の階層である必要があります。関連したテーブル、ビュー、またはマッピング内のテーブルを参照するストアドプロシージャ は存在してはなりません。

データベースドライバーは WHERE 条件でのバルク挿入をサポートします。

 

次のテーブルは使用されるデータベースの種類とドライバーにより異なるバルク挿入へのサポートの概要を示しています。

 


ADO

ODBC

JDBC

ADO.NET

ネイティブ

Access

いいえ

いいえ

n/a 

n/a

n/a

DB2

いいえ

はい

はい

はい

n/a

Firebird

n/a

はい

はい

いいえ

n/a

Informix

いいえ

はい

はい

はい

n/a

iSeries

いいえ

はい

はい

はい

n/a

MariaDB

いいえ

はい

はい

はい

n/a

MySQL

n/a

はい*

はい

はい

n/a

Oracle

いいえ

はい

はい

はい

n/a 

PostgreSQL

n/a

はい

はい

n/a

はい

Progress

n/a

はい

はい

n/a

n/a

SQL Server

はい

はい

はい

はい

n/a

SQLite

n/a

n/a

n/a

n/a 

いいえ

Sybase

いいえ

はい

はい

n/a

n/a 

Teradata

n/a 

はい

はい

n/a 

n/a 

 

* MySQL バージョン 5 または以降が必要とされます。

 

この例は、サンプル source.txt ファイルからデータをターゲットデータベースにバルクロードするマッピングを作成する方法について説明しています。例は、 SQL Server 2014 と AdventureWorks 2014 データベースを使用しています。後者は、 CodePlex Web サイトからダウンロードすることができます (https://msftdbprodsamples.codeplex.com/)。

 

 

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

バルク転送の定義:

 

1.内蔵の ターゲット出力アイコン ic-builtinActive が有効化されていることを確認してください。

2.AdventureWorks 2014 データベースに接続し、 "Production.Location" テーブルをマッピングに追加します。詳細に関しては、次を参照してください:データベースをマッピングに追加する

mf_db_bulk_01

1.「挿入」 メニューから、 「テキスト」をクリックして、(上に表示されている source.txt サンプル等の)ソーステキストファイル  をマッピングに追加します。詳細に関しては、次を参照してください:CSV とテキストファイル。 ソースとターゲット コンポーネントのデータ型と互換性があることを確認してください。 「データ型の表示」 ( ic-show-types ) ツールボタンが有効化されている場合、データ型はコンポーネント上で表示されます。

mf_db_bulk_02

2.下に表示されるとおりマッピングの接続を描きます。データベースアクション ボタン tbl-act-icon は、テーブル名の右に表示されていることに注意してください。

mf_db_bulk_03

3.データベースアクション ボタン ( tbl-act-icon )をクリックして、"バルク転送の使用" チェックボックスを有効化します。「OK」 をクリックして確認します。 「バルク転送の使用」 チェックボックスを選択して、 「OK」 をクリックして確認します。

mf_db_bulk_04

 

上のダイアログボックス内で、 「レコードに対するアクション」 が 「全て挿入」 に設定されていることを確認してください。 「バッチサイズ」 フィールドは、各アクションに挿入されるレコードの数量を定義します。

 

メモ:「バルク転送の使用」 オプションが有効化されていると、 「トランザクションの使用」 オプションは無効化されます。また、「トランザクションの使用」  オプションが有効化されていると、「バルク転送の使用」 オプションは無効化されます。トランザクション処理を有効化するには、 「バルク転送の使用」 チェックボックスのチェックを解除します。

 

バルク挿入が有効化された次のステップは、 MapForce Server 内でのマッピングの実行です(スタンドアロン、または FlowForce Server の管理下で)。 詳細に関しては、次を参照してください:MapForce Server 実行可能ファイルにマッピングをコンパイルするFlowForce Server にマッピングをデプロイする

(C) 2019 Altova GmbH