# tSQLiteOutputの標準プロパティ

これらのプロパティは、標準ジョブのフレームワークで実行されているtSQLiteOutputを設定するために使われます。

標準のtSQLiteOutputコンポーネントは、データベースファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

情報メモ注: このコンポーネントは、動的データベースコネクターの特定のバージョンです。データベース設定に関連するプロパティは、データベースタイプの選択に応じて異なります。動的データベースコネクターについては、[動的データベースコンポーネント](https://help.qlik.com/talend/r/ja-JP/7.3/components/db-generic/dynamic-database-components)をご覧ください。

## 基本設定

| [Database] (データベース) | データベースのタイプをリストから選択し、[Apply] (適用)をクリックします。 |
| --- | --- |
| [Property type] (プロパティタイプ) | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。 |
|  | [Built-In] (組み込み): 一元的に保存されるプロパティデータはありません。 |
|  | [Repository] (リポジトリー): プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。 |
| [Use an existing connection] (既存の接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。<br><br>情報メモ注: ジョブに親ジョブと子ジョブが含まれている時は、2つのレベルの間の既存の接続を共有する必要がな場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、以下を実行する必要があります。<br><br><ol> <li> <p>親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの<span>[Basic settings] (基本設定)</span>ビューに登録します。</p> </li> <li> <p>子レベルで、登録済みのそのデータベース接続を読み取るために専用の接続コンポーネントを使用します。</p> </li> </ol><br><br>ジョブレベル全体でデータベース接続を共有する方法の例は、*Talend Studioユーザーガイド*をご覧ください。 |
| ![](https://help.qlik.com/talend/ja-JP/components/7.3/Resources/images/Save_Icon.png) | このアイコンをクリックすると、データベース接続ウィザードが開き、コンポーネント[Basic settings] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。<br><br>データベース接続パラメーターの設定と保存の詳細は、『 *Talend Studioユーザーガイド*』をご覧ください。 |
| [Database] (データベース) | データベースファイルへのファイルパス |
| [Table] (テーブル) | 書き込まれるテーブルの名前。一度に書き込みができるテーブルは1つだけです。 |
| [Action on table] (テーブルでのアクション) | 定義済みのテーブルで、次のオペレーションの1つを実行できます。<br><br>[None] (なし): 操作は行われません。<br><br>[Drop and create a table] (ドロップしてテーブルを作成): テーブルが削除され、再び作成されます。<br><br>[Create a table] (テーブルを作成): テーブルが存在しないため、作成されます。<br><br>[Create a table if not exists] (テーブルが存在しない場合は作成): テーブルが存在しない場合は作成されます。<br><br>[Drop a table if exists and create] (テーブルが存在する場合はドロップして作成): テーブルが既に存在する場合は削除されて再作成されます。<br><br>[Clear a table] (テーブルをクリア): テーブルのコンテンツが削除されます。 |
| [Action on data] (データでのアクション) | 定義されたテーブルのデータで実行できる操作は次のとおりです。<br><br>[Insert] (挿入): テーブルに新しいエントリーを追加します。重複が見つかった場合、ジョブは停止されます。<br><br>[Update] (アップデート): 既存のエントリーが変更されます。<br><br>情報メモ注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによってエラーが発生し、ジョブが失敗します。<br><br>[Insert or update] (挿入またはアップデート): 新しいレコードを挿入します。指定された参照を持つレコードが既に存在する場合は、アップデートされます。<br><br>情報メモ注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによって警告メッセージが発生し、ジョブが続行されます。<br><br>[Update or insert] (アップデートまたは挿入): 指定された参照を使用してレコードをアップデートします。レコードが存在しない場合は、新しいレコードが挿入されます。<br><br>情報メモ注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによって警告メッセージが発生し、ジョブが続行されます。<br><br>[Delete] (削除): 入力フローに対応するエントリーを削除します。<br><br>情報メモ警告:<br><br>*[Update] (アップデート)操作と[Delete] (削除)操作のベースとなるプライマリキーとして、カラムを少なくとも1つ指定する必要があります。この場合、[Edit Schema] (スキーマを編集)をクリックし、プライマリキーとして設定するカラムの横にあるチェックボックスをオンにします。高度な設定を行う場合は、[Advanced settings] (詳細設定)ビューをクリックして、アップデートおよび削除操作のプライマリキーを同時に定義できます。これを設定するには、以下のようにします:[Use field options] (フィールドオプションを使う)チェックボックスをオンにし、[Key in update column] (アップデートのキーカラム)で、アップデート操作のベースとして使うカラム名の横にあるチェックボックスをオンにします。削除操作についても、Key in deleteカラムで同じようにします。* |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。 |
|  | [Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。 |
|  | [Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。<br><br>再使用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。<br><br>詳細は、Talend Studioユーザーガイドでテーブルスキーマに関連する説明をご覧ください。 |
|  | スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。<br><br><ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul> |
| [Die on error] (エラー発生時に強制終了) | このチェックボックスはデフォルトで選択されています。エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。必要に応じて[Row] (行) &gt; [Rejects] (リジェクト)リンクを使用してエラー発生時に行を取得できます。 |

## 詳細設定

| [Commit every] (コミットする間隔) | ノードのバッチがDBにコミットされるまでに完了しているべき行数を入力します。このオプションにより、トランザクションの質(ただしロールバックは含まない)、特に実行時のパフォーマンスの向上が保証されます。 |
| --- | --- |
| [Additional Columns] (追加のカラム) | このオプションは、データベーステーブルを作成する場合(ドロップありまたはドロップなし)には提供されません。このオプションにより、SALファンクションを呼び出してカラムにアクションを実行できます。ただし、挿入、アップデート、削除のアクションでないこと、特定の事前処理を必要とするアクションでないことが条件です。 |
|  | [Name:] (名前:)変更するか、または新しいカラムとして挿入するスキーマカラムの名前を入力します。 |
|  | [SQL expression] (SQL式): 関連するカラムデータを変更または挿入するために実行するSQLステートメントを入力します。 |
|  | [Position] (位置): 参照カラムに対して実行されるアクションに従って、[Before] (実行前)、[Replace] (置換)、[After] (実行後)のいずれかを選択します。 |
|  | [Reference column] (参照カラム): 新規または変更されたカラムを配置または置換するためにtDBOutputが使える参照のカラムを入力します。 |
| [Use field options] (フィールドオプションを使用) | 特にデータに二重のアクションがある場合、リクエストをカスタマイズするには、このチェックボックスを選択します。 |
| [Debug query mode] (デバッグクエリーモード) | このチェックボックスをオンにすると、データベースのエントリーの処理中に各ステップが表示されます。 |
| [Use Batch] (バッチを使用) | このチェックボックスをオンにして、データ処理のバッチモードを有効にします。<br><br>情報メモ注:<br><br>このチェックボックスは、[Action on data] (データでのアクション)オプションで[Insert] (挿入)、[Update] (アップデート)、または[Delete] (削除)オプションを選択している場合にのみ使えます。 |
| [Batch Size] (バッチサイズ) | 各バッチで処理するレコードの数を指定します。<br><br>このフィールドは、[Use batch mode] (バッチモードを使用)チェックボックスがオンの場合のみ表示されます。 |
| [tStat Catcher Statistics] (tStatCatcher統計) | このチェックボックスを選択すると、コンポーネントレベルでログデータを収集できます。 |
| [Enable parallel execution] (並列実行を有効化) | このチェックボックスを選択すると、複数のデータフローを同時に処理することにより、高速データ処理を実行できます。このフィーチャーは、データベースまたは複数の挿入を並行して処理するアプリケーションの機能と、関係するCPUの数に依存していることにご注意ください。[Number of parallel executions] (並列実行の数)フィールドで次のいずれかの操作を行います。<br><br><ul> <li>実行する並列実行の数を入力する。</li> <li><span>Ctrl + スペース</span>を押して、リストから適切なコンテキスト変数を選択する。詳細は、<em><span>Talend Studio</span>ユーザーガイド</em>をご覧ください。 </li> </ul><br><br>並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得することはできないことにご注意ください。<br><br><ul> <li><span>[Action on table] (テーブルでのアクション)</span>フィールドは、並列化機能では利用できません。したがって、テーブルを作成する場合は、<span>tCreateTable</span>のコンポーネントを使用する必要があります。 </li> <li>並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得できません。 </li> </ul> |

## グローバル変数

| グローバル変数 | NB\_LINE: 処理された行の数。これはAfter変数で、整数を返します。<br><br>NB\_LINE\_UPDATED: アップデートされた行の数。これはAfter変数で、整数を返します。<br><br>NB\_LINE\_INSERTED: 挿入された行の数。これはAfter変数で、整数を返します。<br><br>NB\_LINE\_DELETED: 削除された行の数。これはAfter変数で、整数を返します。<br><br>NB\_LINE\_REJECTED: 拒否された行の数。これはAfter変数で、整数を返します。<br><br>QUERY: 処理されたクエリーステートメント。これはAfter変数で、文字列を返します。<br><br>ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入れるには、Ctrl + スペースを押して変数リストにアクセスし、リストから使用する変数を選択します。<br><br>変数の詳細は、*Talend Studio* *ユーザーガイド*をご覧ください。 |
| --- | --- |

## 使用方法

| **使用ルール** | このコンポーネントは、入力コンポーネントに接続する必要があります。このコンポーネントを使って、SQLiteデータベース内のテーブルまたはテーブルのデータにアクションを実行できます。また、[Row] (行) &gt; [Reject] (リジェクト)リンクを使って、エラーのあるデータをフィルタリングするリジェクトフローを作成することもできます。tSQLiteOutputの使用例は、[リジェクトリンクを使用してエラーデータを取得する](https://help.qlik.com/talend/ja-JP/components/7.3/mysql/tmysqloutput-tmap-tfileoutputdelimited-tfileinputdelimited-retrieving-data-in-error-with-reject-link-standard-component-this)をご覧ください。 |
| --- | --- |
| [Dynamic settings] (ダイナミック設定) | [+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。<br><br>[Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合のみ利用できます。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。<br><br>ダイナミックパラメーターの定義法を示すユースケースについては、[コンテキストベースのダイナミック接続によってデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/7.3/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections)と、[ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/7.3/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters)をご覧ください。[Dynamic settings] (ダイナミック設定)とコンテキスト変数については、Talend Studioユーザーガイドをご覧ください。 |