テーブル追加書き込み処理

オペレーション名

テーブル追加書き込み

機能概要

入力データをDr.Sum EAのテーブルに高速に書き込みます。
挿入処理のみを行うため、高速にデータの書き込みができます。
Dr.Sum EA 2.5 SP2、3.0 SP1以降で使用可能なオペレーションです。

データモデル

本コンポーネントのデータモデルはテーブルモデル型です。
入出力のスキーマについては「テーブルモデル型のスキーマ」を参照してください。

プロパティ

基本設定

項目名 必須/省略可 変数の使用 説明 補足
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  

必須設定

項目名 必須/省略可 変数の使用 説明 補足
接続先 必須 使用不可 グローバルリソースを選択します。
グローバルリソースの設定方法については「グローバルリソースのプロパティ」を参照してください。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」プロパティにて、グローバルリソースの設定を編集することができます。
 
テーブル名 必須 使用可 データベースのテーブル名を選択または入力します。
  • ビュー、マルチビュー、リンクテーブルは表示されません。
スキーマ定義 必須
-
データベースのスキーマ定義を指定します。
  • [スキーマ定義]で表示された列名がMapperのスキーマに表示されます。
  • 以下の場合はスキーマ定義を表示することはできません。
    • 指定したテーブルに読み取り権限がない場合
    • 指定したテーブルが存在しない場合
    • [テーブル名]に変数が指定されている場合
    • [テーブル名]が入力されていない場合
    • [テーブル名]でエラーが発生している場合
スキーマ定義/列名 必須 使用不可 [テーブル名]で指定したテーブルの列名を表示します。  
スキーマ定義/型 必須 使用不可 [列名]の型を表示します。 「Native型 (内部データ型)」形式で表示されます。
  • Native型:
    Dr.Sum EAの固有のデータ型です。
  • 内部データ型:
    DataSpider内部で使用しているデータ型です。詳細はこちらを参照してください。
プロパティアクション
項目名 説明 補足
テーブル情報の表示 [接続先]で指定したデータベースに含まれるテーブルの構造、内容、関連情報を表示します。
テーブル情報については「テーブル情報」を参照してください。
  • [接続先]が選択されている場合、有効になります。
  • [テーブル名]に、ビュー、マルチビュー、リンクテーブルは表示されません。
  • [テーブル名]でディストリビュータを選択した場合、[テーブル内容]は表示されません。
スキーマ定義の更新 [スキーマ定義]および接続を最新状態にリフレッシュします。  

コメント

項目名 必須/省略可 変数の使用 説明 補足
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

トランザクション

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

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

コンポーネント変数名 説明
count 全書き込みデータの件数を返します。
insert_count 書込みデータの挿入したデータの行数を返します。
パラレルストリーミング処理使用時にはnullになります。
error_code エラーが発生したときに、Dr.SumEAのエラーステータスコードを10進数の値で返します。
エラーが発生しなかった時にはnullを返します。
バージョンにより、内容が変わる可能性があります。
error_type エラーが発生したときに、エラーの種類を返します。
java.io.FileNotFoundExceptionというような形式で返されます。
エラーが発生しなかった時にはnullを返します。
バージョンにより、内容が変わる可能性があります。
error_message エラーが発生したときのエラーメッセージを返します。
バージョンにより、内容が変わる可能性があります。
error_trace エラーが発生したときのトレース情報を返します。
バージョンにより、内容が変わる可能性があります。

主な例外

例外名 原因 対策
InputDataNotFoundException [入力データ]が指定されていません。 [入力データ]を指定する、またはデータフローを引いてください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
InvalidPropertyConfigurationException [テーブル名]が未設定です。 [テーブル名]を指定してください。

サンプル

読み込んだCSVファイルの内容に基づきテーブルに書き込むスクリプトを作成します。



CSVファイル読み取り処理のプロパティの設定およびCSVファイルの内容は以下のようになっています。

   [in.csv]

TH-42PX600 ,プラズマテレビ ,230469
37Z2000 ,液晶テレビ ,221390
DMR-XW30 ,DVDレコーダー ,79639
DC12 ,掃除機 ,65940
洗濯機 ,NA-VR1100 ,155000


テーブル追加書き込み処理のプロパティの設定およびスクリプト実行前のテーブル内容は以下のようになっています。



Productテーブルのvalueカラムは型がINTEGERであるため型変換をMapper数値に変換ロジックを用いて行います。



このサンプルスクリプトではCSVファイル読み取り処理にて抽出したデータの内容をテーブルに書き込んでいます。
スクリプト実行後のテーブル内容は以下の通りです。[Product]



このサンプルで示すようにテーブル追加書き込み等においては入力データの型変換をMapperの変換ロジックを用いて行います。

現在Mapperには3種の型変換ロジックがあり、それらを用いることで様々な入力データを変換することが可能です。

変換対象の型 ロジック
VARCHAR文字列に変換
INT数値に変換
REAL
NUMERIC
DATE日時のパース
TIME
TIMESTAMP