# ローダによる書き込み処理

## オペレーション名

ローダによる書き込み

## 機能概要

ローダを用いてファイルの内容をテーブルに書き込みます。
データベースのクライアントのSQLローダを使用するため、高速に処理を行うことができます。

## プロパティ

変数の使用については、「変数」を参照してください。

##### 基本設定

項目名 | 必須/省略可 | 変数の使用 | 説明 | 備考
--- | --- | --- | --- | ---
名前 | 必須 | 使用不可 | スクリプトキャンバス上での名前を入力します。 |

##### 必須設定

項目名 | 必須/省略可 | 変数の使用 | 説明 | 備考
--- | --- | --- | --- | ---
接続先 | 必須 | 使用不可 | グローバルリソースを選択します。 [追加]: 新規にグローバルリソースを追加します。 [一覧の編集]: 「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。 |
テーブル名 | 必須 | 使用可 | 書き込むテーブルの名前を選択または入力します。 | グローバルリソースの一覧設定で指定した制限数のテーブルが表示されます。
テーブル名を引用符で囲う | 省略可 | 使用不可 | 指定したテーブル名を引用符で囲うかどうかを選択します。 [チェックあり]: [テーブル名]に表示されているテーブル名を引用符で囲います。 [チェックなし]:(デフォルト) [テーブル名]に表示されているテーブル名を引用符で囲いません。 スペースなどの文字がテーブル名に含まれていた場合には、テーブル名を引用符で囲う必要があります。引用符で囲う必要がある文字については、各データベースベンダーに問い合わせてください。 | 引用符は「[]」(半角大括弧)です。 実行時には[テーブル名]に入力されたテーブル名をそのまま使用します。 [テーブル名]に入力されたテーブル名が引用符で囲われていた場合には、実行時にローダの設定ファイルにも引用符で囲まれたテーブル名で保存します。 [テーブル名]に入力されたテーブル名が引用符で囲まれていない場合には、実行時に本プロパティの有効/無効を確認のうえ、本プロパティが有効であれば引用符で囲まれたテーブル名でクエリーを発行します。 [テーブル名]に環境変数を設定した場合、本プロパティの有効/無効を切り替えた際に値が展開されます。
データファイル | 必須 | 使用可 | データファイルのファイルパスを入力します。 | SQL Serverが稼働しているサーバからの有効なパスを指定する必要があります。リモートファイルの場合は、UNC(汎用名前付け規則)名を指定します。
フォーマットファイル | 省略可 | 使用可 | フォーマットファイルの絶対パスを入力します。 | SQL Serverが稼働しているサーバからの有効なパスを指定する必要があります。リモートファイルの場合は、UNC(汎用名前付け規則)名を指定します。 フォーマットファイルの記述方法については、以下を参照してください。 SQL Server 2017 JDBCアダプタ制限事項 SQL Server 2016 JDBCアダプタ制限事項 SQL Server 2014 JDBCアダプタ制限事項 SQL Server 2012 JDBCアダプタ制限事項 SQL Server 2008 R2 JDBCアダプタ制限事項 SQL Server 2008 JDBCアダプタ制限事項
区切り文字 | 省略可 | 使用可 | データファイルの区切り文字を入力または選択します。 [,](半角カンマ):(デフォルト) 半角カンマを区切り文字として指定します。 [ ](半角スペース): 半角スペースを区切り文字として指定します。 [<TAB>](タブ): タブを区切り文字として指定します。 | [フォーマットファイル]を指定した場合、無効になります。
スキーマ定義 | 必須 | - | [テーブル名]で指定したテーブルのスキーマ定義を表示します。 | 以下の場合はスキーマ定義を表示することはできません。 指定したテーブルに読み取り権限がない場合 指定したテーブルが存在しない場合 [テーブル名]に変数が指定されている場合 [テーブル名]が入力されていない場合 [テーブル名]でエラーが発生している場合
スキーマ定義/列名 | 必須 | 使用不可 | [テーブル名]で指定したテーブルの列名を表示します。 |
スキーマ定義/型 | 必須 | 使用不可 | [列名]の型を表示します。 | 「<Native型> (<内部データ型>)」形式で表示されます。 Native型: 各RDBMSの固有のデータ型です。 内部データ型: DataAnyware 2.0内部で使用しているデータ型です。 詳細については、「内部データ型」を参照してください。

###### プロパティアクション

項目名 | 説明 | 備考
--- | --- | ---
テーブルブラウザの起動 | テーブルブラウザを起動します。 操作方法については、「テーブルブラウザ」を参照してください。 | [接続先]が選択されている場合、有効になります。 [テーブル名]で指定したテーブルが初期表示されます。

##### コメント

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

## スキーマ

### 入力スキーマ

ありません。

### 出力スキーマ

ありません。

## トランザクション

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

## PSPでの使用について

PSPでは使用できません。

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

コンポーネント変数名 | 説明 | 備考
--- | --- | ---
return | 起動したローダの戻り値が格納されます。 | デフォルト値はnullです。
message_category | エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。 | デフォルト値はnullです。
message_code | エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。 | デフォルト値はnullです。
message_level | エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。 | デフォルト値はnullです。
error_type | エラー発生時、発生したエラーの種類が格納されます。 | デフォルト値はnullです。 エラーの種類は、以下のような形式となります。 例:「java.io.FileNotFoundException」 CustomerVision DataAnyware 2.0のバージョンにより、格納される内容が変わる可能性があります。
error_message | エラー発生時、発生したエラーのメッセージが格納されます。 | デフォルト値はnullです。 CustomerVision DataAnyware 2.0のバージョンにより、格納される内容が変わる可能性があります。
error_trace | エラー発生時、発生したエラーのトレース情報が格納されます。 | デフォルト値はnullです。 CustomerVision DataAnyware 2.0のバージョンや実行するクライアントアプリケーションにより、格納される内容が変わる可能性があります。

## 仕様制限

- グローバルリソースの一覧設定で、テーブル一覧の表示数を制限していない場合や大きな数を指定している場合、データベースのテーブル数によってはプロパティ設定ダイアログを開くのに時間がかかることがあります。

各データベースアダプタ固有の仕様制限については、仕様制限については、「データベースアダプタの制限事項」を参照してください。

## 主な例外

例外名 | 原因 | 対策
--- | --- | ---
ResourceNotFoundException リソース定義が見つかりませんでした。名前:[] | [接続先]が指定されていません。 | [接続先]を指定してください。
ResourceNotFoundException リソース定義が見つかりませんでした。名前:[<グローバルリソース名>] | [接続先]で選択されたリソース定義が見つかりません。 | [接続先]で指定したグローバルリソースを確認してください。
InvalidPropertyConfigurationException <プロパティ名>が指定されていません。 | [<プロパティ名>]が指定されていません。 | [<プロパティ名>]を指定してください。
java.io.IOException | ローダコマンドの起動に失敗しました。 | ローダがインストールされているか、または起動パスに通っているかどうかを確認してください。
java.sql.SQLException | データベースアクセスエラーまたはそのほかのエラーが発生しています。 | SQLExceptionのメッセージを確認してください。SQLExceptionのメッセージは各ドライバの仕様に基づいています。SQLExceptionのメッセージにはエラーの原因が出力されている場合があります。 メッセージの詳細については、各データベースベンダーに問い合わせてください。