書き込み(DataLoader)処理

オペレーション名

書き込み(DataLoader)

機能概要

Dr.Sum DataLoaderのアップデートローダー機能を使用して、入力データをDr.Sumのテーブルに高速に書き込みます。
キーとして選択した列が一致した行は更新を行い、一致しない行は挿入を行います。
一括追加挿入と更新をまとめて処理するため、高速にデータの書き込みができます。
Dr.Sum EA 3.0 SP2以降で使用可能なオペレーションです。

データモデル

本コンポーネントのデータモデルはテーブルモデル型です。

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
テーブル名 必須 使用可 データベースのテーブル名を選択または入力します。
  • ディストリビュータ・ビュー・マルチビュー・リンクテーブルは表示されません。
スキーマ定義 必須 - データベースのスキーマ定義を指定します。
  • [スキーマ定義]で表示された列名がMapperのスキーマに表示されます。
  • 以下の場合はスキーマ定義を表示することはできません。
    • 指定したテーブルに読み取り権限がない場合
    • 指定したテーブルが存在しない場合
    • [テーブル名]に変数が指定されている場合
    • [テーブル名]が入力されていない場合
    • [テーブル名]でエラーが発生している場合
スキーマ定義/列名 必須 使用不可 [テーブル名]で指定したテーブルの列名を表示します。  
スキーマ定義/型 必須 使用不可 [列名]の型を表示します。
  • 「<Native型> (<内部データ型>)」形式で表示されます。
    • Native型:
      Dr.Sumの固有のデータ型です。
    • 内部データ型:
      DataSpider内部で使用しているデータ型です。詳細はこちらを参照してください。
キーとなる列名 必須 使用可 キーとして使用する列を選択または入力します。
  • NOT NULL UNIQUE制約が付与された、列またはコンパウンドキーを選択することができます。
  • NOT NULL UNIQUE制約が付与されていない列またはコンパウンドキーを指定した場合、エラーが発生します。
  • 複数の列をキーとして使用することはできません。
  • Dr.Sum EA 4.2以前では、コンパウンドキーを使用することはできません。
プロパティアクション
項目名 説明 備考
DataLoader接続テスト [接続先]で指定したDr.Sumに対して、書き込み(DataLoader)処理が実行可能かどうかのテストを行います。
DataLoaderが使用可能なバージョンであり、アップデートローダー機能が有効である場合、テストが成功します。
  • [接続先]に接続可能なDr.Sumが指定されている場合に有効になります。
テーブル情報の表示 [接続先]で指定したデータベースに含まれるテーブルの構造、内容、関連情報を表示します。
テーブル情報については、「テーブル情報」を参照してください。
  • 以下の条件をすべて満たす場合に有効になります。
    • [接続先]に接続可能なDr.Sumが指定されている
    • [接続先]で指定したDr.Sumに対して、書き込み(DataLoader)処理が実行可能である
  • ディストリビュータ・ビュー・マルチビュー・リンクテーブルは選択できません。
  • [テーブル名]で指定したテーブルが初期表示されます。
スキーマ定義の更新 [スキーマ定義]および[キーとなる列名]を更新します。
  • 以下の条件をすべて満たす場合に有効になります。
    • [接続先]に接続可能なDr.Sumが指定されている
    • [接続先]で指定したDr.Sumに対して、書き込み(DataLoader)処理が実行可能である
    • [テーブル名]が指定されている
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

[スキーマ定義]の設定により、カラム数が異なります。
スキーマ構造については、「テーブルモデル型のスキーマ」を参照してください。

出力スキーマ

ありません。

Mapperでのスキーマ読み込み

スキーマは自動で読み込まれます。
詳細については、「スキーマ編集」を参照してください。

トランザクション

トランザクションはサポートしていません。

PSPでの使用について

PSPで使用できます。
PSPについては、「パラレルストリーミング処理」を参照してください。

使用できるコンポーネント変数

コンポーネント変数名 説明 備考
count 書き込んだデータの件数が格納されます。
  • デフォルト値はnullです。
error_code エラー発生時、Dr.Sumのエラーステータスコードが10進数の値で格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
message_category エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。
  • デフォルト値はnullです。
message_code エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。
  • デフォルト値はnullです。
message_level エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。
  • デフォルト値はnullです。
error_type エラー発生時、発生したエラーの種類が格納されます。
  • デフォルト値はnullです。
  • エラーの種類は、以下のような形式となります。
    例:「java.io.FileNotFoundException」
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

仕様制限

各アダプタ固有の仕様制限については、以下のページを参照してください。

主な例外

例外名 原因 対策
InputDataNotFoundException [入力データ]が指定されていません。 [入力データ]を指定する、またはデータフローを引いてください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
InvalidPropertyConfigurationException
テーブル名が定義されていません。
[テーブル名]が未設定です。 [テーブル名]を指定してください。
InvalidPropertyConfigurationException
キーとなる列が定義されていません。
[キーとなる列名]が未設定です。 [キーとなる列名]にNOT NULL UNIQUE制約が付与された列名を指定してください。
DataLoaderUpdateNotSupportedException
アップデートローダー機能が無効であるか、サポートされていない接続先です。
[接続先]で指定されたDr.Sumのアップデートローダー機能が無効であるか、サポートされていないバージョンであるため、書き込み(DataLoader)処理を実行することができません。 [接続先]で指定されたDr.Sumのアップデートローダー機能が有効になっているか、またバージョンが3.0 SP2以降であるかを確認してください。
jp.co.dw_sapporo.drsum_ea.DWException
存在しない項目名が指定されました。
[キーとなる列名]に書き込み先のテーブルに存在しない列名が指定されています。 [キーとなる列名]に書き込み先のテーブルに存在する列名を指定してください。
jp.co.dw_sapporo.drsum_ea.DWException
項目タイプ不正です。
NOT NULL UNIQUE制約が付与されていない列が[キーとなる列名]に指定されています。 [キーとなる列名]にNOT NULL UNIQUE制約が付与された列名またはコンパウンドキーを指定してください。
jp.co.dw_sapporo.drsum_ea.DWException
ユニーク制約違反です。
テーブルへの書き込み時にユニーク制約違反が発生しています。 [入力データ]、および書き込み先のテーブル構造情報を確認してください。
jp.co.dw_sapporo.drsum_ea.DWException
NOT NULL制約違反です。
テーブルへの書き込み時にNOT NULL制約違反が発生しています。 [入力データ]、および書き込み先のテーブル構造情報を確認してください。

注意事項

各アダプタ固有の注意事項については、以下のページを参照してください。

処理イメージ

CSVファイルの内容を読み取り、書き込み(DataLoader)処理でテーブルに書き込みます。
  1. 書き込み(DataLoader)処理のプロパティ設定は以下の通りです。PRICEテーブルのidカラムをキーに書き込みを行います。



  2. 書き込み対象のPRICEテーブル内のデータは以下の通りです。

    id product price
    1 Prototype 1000
    2 1stType 2000

  3. CSVファイルの内容は以下の通りです。

    2 ,1stType ,2500
    3 ,2ndType ,3000

  4. CSV読み取り処理でCSVファイルの内容を読み取り、書き込み(DataLoader)処理で書き込んだ結果、PRICEテーブルのデータは以下のようになります。

    id product price 処理結果
    1 Prototype 1000  
    2 1stType 2500 idが一致したため、更新
    3 2ndType 3000 一致するidがないため、挿入