# tMSSqlOutputBulk

INSERTクエリーのパラメーターとして使うファイルを準備し、MSSqlデータベースにフィードします。

tMSSqlOutputBulkコンポーネントとtMSSqlBulkExecコンポーネントは、2ステップのプロセスで一緒に使われます。最初のステップでは、出力ファイルが生成されます。2番目のステップでは、データベースをフィードするために使用する挿入オペレーションで、このファイルを使用します。これら2つのステップは、tMSSqlOutputBulkExecコンポーネント内で融合しており、これについては別のセクションで詳しく説明しています。2段階のプロセスを使用する利点は、データベースにロードする前にデータを変換できることです。

tMSSqlOutputBulkは、定義済みの区切りおよびMSSql標準に基づいて、カラムのあるファイルを書き込みます。

## tMSSqlOutputBulkの標準プロパティ

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

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

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

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

情報メモ注: ESB用にジョブをOSGIバンドルとしてビルドする場合、SQL Serverコンポーネントで使われるMS SQL Serverドライバーであるjtdsとmssql-jdbcは、ビルドアーティファクトには含まれていません。 Talend Runtimeでアーティファクトを実行する場合は、これらのドライバーを&lt;TalendRuntimePath&gt;/libフォルダーにコピーして手動でデプロイし、 Talend Runtimeを再起動する必要があります。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| データベース | 目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。 |
| [Property type] (プロパティタイプ) | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。<br><br><ul> <li> <span>[Built-In] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。</li> <li> <span>[Repository] (リポジトリー)</span>: プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。</li> </ul> |
| [File name] (ファイル名) | 生成するファイルの名前を入力します。<br><br>情報メモ注: このファイルは、データベースサーバーと同じマシンにあることも、別のマシンにあることもあります。ファイルがデータベースサーバーと同じマシンにある場合は、このフィールドにファイルへのパスを入力します。ファイルが別のマシンにある場合は、このフィールドにファイルの汎用命名規則(UNC)名(すなわち\\{Servername}\{Sharename}\{Path}\{Filename})を入力します。後者の場合はファイルを書き込む権限が必要となります。関連情報は、[Bulk importing to SQL Server from a remote data file](https://docs.microsoft.com/en-us/sql/relational-databases/import-export/import-bulk-data-by-using-bulk-insert-or-openrowset-bulk-sql-server?view=sql-server-ver16#bulk-importing-to-sql-server-from-a-remote-data-file)をご参照ください。 |
| [Append] (追加) | このチェックボックスをオンにすると、レコードの最後に新しい行が追加されます。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br>[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。<br><br>[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。<br><br>再利用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。<br><br>詳細は、[テーブルスキーマを取得](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/retrieving-table-schemas?tocId=_C1~eFOlN~GM_JR2qkBYZg)をご覧ください。<br><br>スキーマを変更するには[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>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul> |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| [Row separator] (行区切り) | 行を区別するための文字列(例: Unixでは"\n"on)。 |
| [Field separator] (フィールド区切り) | フィールドを区切る文字、文字列、正規表現のいずれか。 |
| [Include header] (ヘッダーを含める) | このチェックボックスをオンにするとカラムヘッダーが含まれます。 |
| [Encoding] (エンコーディング) | リストからエンコーディングを選択するか、[CUSTOM] (カスタム)を選択して、手動で定義します。このフィールドはデータベースのデータ処理で必須です。 |
| [tStaCatcher statistics] (tStaCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |

## グローバル変数

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | NB\_LINE: 処理された行の数。これはAfter変数で、整数を返します。<br><br>ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。<br><br>変数の詳細は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントはtMSSqlBulkExecコンポーネントとともに使用します。一緒に使えば、MSSqlデータベースをフィードする時にパフォーマンスが向上します。 |
| [Component family] (コンポーネントファミリー) | Databases/MS SQLサーバー |