# tOracleOutputの標準プロパティ

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

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

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

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

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| データベース | 目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。 |
| [Property type] (プロパティタイプ) | <ul> <li> <p> <span><span>[Built-in] (組み込み)</span>と<span>[Repository] (リポジトリー)</span>のいずれかです。</span></p> </li> <li> <p> <span>[Built-In] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。</p> </li> </ul> |
| ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/Save_Icon.png) | このアイコンをクリックすると、データベース接続ウィザードが開き、コンポーネント[Basic settings] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。<br><br>データベース接続パラメーターの設定と保存の詳細は、[データベースメタデータを一元管理](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/centralizing-database-metadata)をご覧ください。 |
| [Use an existing connection] (既存の接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。<br><br>情報メモ注: ジョブに親ジョブと子ジョブが含まれている時は、親ジョブと子ジョブの間の既存の接続を共有したい場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、次のように実行します。<br><br><ol> <li>親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの<span>[Basic settings] (基本設定)</span>ビューに登録します。 </li> <li>子レベルで、登録済みのそのデータベース接続を読み取るために専用の接続コンポーネントを使用します。 </li> </ol><br><br>ジョブレベル全体でデータベース接続を共有する方法の例は、[データベース接続を共有](https://help.qlik.com/talend/r/ja-JP/7.3/studio-user-guide/sharing-database-connection)をご覧ください。 |
| [Connection type] (接続タイプ) | 使えるドライバーのドロップダウンリスト:<br><br><ul> <li> <p> <span>Oracle OCI</span>: Oracleデータベースへのインターフェイスを提供する一連のC言語ソフトウェアAPIでOracle Callインターフェイスを使用するには、この接続タイプを選択します。</p> </li> <li> <p> <span>Oracle Custom</span>: クラスター化されたデータベースにアクセスするには、この接続タイプを選択します。</p> </li> <li> <p> <span>[Oracle Service Name] (Oracleサービス名)</span>: リモートデータベースへの接続時に指定するTNSエイリアスを使用するには、この接続タイプを選択します。 </p> </li> <li> <p> <span>WALLET</span>: Oracle Walletに認証情報を保管するには、この接続タイプを選択します。</p> </li> <li> <p> <span>Oracle SID</span>: システムの特定のデータベースを一意識別するには、この接続タイプを選択します。</p> </li> </ul> |
| [DB Version] (データベースバージョン) | 使用中のOracleバージョンを選択します。 |
| [Host] (ホスト) | データベースサーバーのIPアドレス。 |
| [Port] (ポート) | データベースサーバーのリスニングポート番号。 |
| [Database] (データベース) | データベースの名前。 |
| [Username] (ユーザー名)と[Password] (パスワード) | データベースユーザー認証データ。<br><br>パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
| [Table] (テーブル) | 書き込まれるテーブルの名前。一度に書き込みができるテーブルは1つだけです。 |
| [Action on table] (テーブルでのアクション) | 情報メモ注:<br><br>[Advanced settings] (詳細設定)ビューで[Enable parallel execution] (並列実行を有効化)チェックボックスをオンにした場合、[Action on table] (テーブルでのアクション)テーブルリストは使えません。<br><br>定義済みのテーブルで、次のオペレーションの1つを実行できます。<br><br><ul> <li> <p> <span>[Default] (デフォルト)</span>: 操作は行われません。 </p> </li> <li> <p> <span>[Drop and create table] (ドロップしてテーブルを作成)</span>: テーブルが削除され、再作成されます。 </p> </li> <li> <p> <span>[Create table] (テーブルを作成)</span>: テーブルが存在しないため、作成されます。 </p> </li> <li> <p> <span>[Create table if not exists] (テーブルが存在しない場合は作成)</span>: テーブルが存在しない場合は作成されます。 </p> </li> <li> <p> <span>[Drop table if exist and create] (テーブルが存在する場合はドロップして作成)</span>: テーブルが既に存在する場合は削除されて再作成されます。 </p> </li> <li> <p> <span>[Clear table] (テーブルをクリア)</span>: テーブルのコンテンツが削除されます。 </p> </li> <li> <p> <span>[Truncate table] (テーブルを切り詰め)</span>: テーブルのコンテンツが削除されます。この操作はロールバックできません。 </p> </li> <li> <p> <span>[Truncate table with reuse storage] (ストレージを再使用してテーブルを切り詰め)</span>: テーブルのコンテンツが削除されます。</p> <p>この操作はロールバックできません。ただし、ストレージは空と見なされますが、テーブルに割り当てられた既存のストレージを再利用することはできます。 </p> </li> </ul><br><br>情報メモ警告:<br><br>[Use an existing connection] (既存の接続を使う)チェックボックスをオンにして、[Action on table] (テーブルでのアクション)リストから[Default] (デフォルト)以外のオプションを選択すると、データの挿入/アップデート/削除操作が行われる前にcommitステートメントが自動的に生成されます。 |
| [Action on data] (データでのアクション) | 定義されたテーブルのデータで実行できる操作は次のとおりです。<br><br>[Insert] (挿入): テーブルに新しいエントリーを追加します。重複が見つかった場合、ジョブは停止されます。<br><br><ul> <li> <div> <span>[Update] (アップデート)</span>: 既存のエントリーが変更されます。<div><span>情報メモ</span><span>注:</span> スキーマカラムがすべてキーとして設定されている場合は、このアクションによってエラーが発生し、ジョブが失敗します。</div> </div> </li> <li> <div> <span>[Insert or update] (挿入またはアップデート)</span>: 新しいレコードを挿入します。指定された参照を持つレコードが既に存在する場合は、アップデートされます。<div><span>情報メモ</span><span>注:</span> スキーマカラムがすべてキーとして設定されている場合は、このアクションによって警告メッセージが発生し、ジョブが続行されます。</div> </div> </li> <li> <div> <span>[Update or insert] (アップデートまたは挿入)</span>: 指定された参照を使用してレコードをアップデートします。レコードが存在しない場合は、新しいレコードが挿入されます。<div><span>情報メモ</span><span>注:</span> スキーマカラムがすべてキーとして設定されている場合は、このアクションによって警告メッセージが発生し、ジョブが続行されます。</div> </div> </li> <li> <p> <span>[Delete] (削除)</span>: 入力フローに対応するエントリーを削除します。</p> </li> </ul><br><br>情報メモ警告: [Update] (アップデート)操作と[Delete] (削除)操作のベースとなるプライマリキーとして、カラムを少なくとも1つ指定する必要があります。この場合、[Edit Schema] (スキーマを編集)をクリックし、プライマリキーとして設定するカラムの横にあるチェックボックスをオンにします。高度な設定を行う場合は、[Advanced settings] (詳細設定)ビューをクリックして、アップデートおよび削除操作のプライマリキーを同時に定義できます。これを設定するには、以下のようにします:[Use field options] (フィールドオプションを使う)チェックボックスをオンにし、[Key in update column] (アップデートのキーカラム)で、アップデート操作のベースとして使うカラム名の横にあるチェックボックスをオンにします。削除操作についても、Key in deleteカラムで同じようにします。<br><br>情報メモ注: ダイナミックスキーマ機能は以下のモードで使用できます: [Insert] (挿入)、[Update] (アップデート)、[Insert or update] (挿入またはアップデート)、[Update or insert] (アップデートまたは挿入)、[Delete] (削除)。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | <ul> <li> <p>スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。スキーマは<span>[Built-in] (組み込み)</span>か、<span>[Repository] (リポジトリー)</span>にリモートで保存されます。 </p> <p>スキーマを変更するには<span>[Edit schema] (スキーマを編集)</span>をクリックします。現在のスキーマが<span>リポジトリー</span>タイプの場合は、3つのオプションを利用できます。</p> <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> <p>このコンポーネントは、ダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema" target="_blank">ダイナミックスキーマ</a>をご覧ください。</p> <p>ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。</p> <p>ダイナミックスキーマ機能を使ってOracle Long型でデータを書き込む場合、データ型変換中のデータオーバーフローを回避するには、Oracle Long型のマッピングファイルの長さプロパティでデフォルトの長さを変更するか、動的メタデータで長さを設定するために使われます。</p> </li> <li> <p> <span>[Built-in] (組み込み)</span>: そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。</p> <p>再利用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。</p> <p>詳細は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/retrieving-table-schemas?tocId=_C1~eFOlN~GM_JR2qkBYZg" target="_blank">テーブルスキーマを取得</a>をご覧ください。</p> </li> </ul> |
| [Die on error] (エラー発生時に強制終了) | このチェックボックスはデフォルトで選択されています。エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。必要に応じて[Row] (行) &gt; [Rejects] (リジェクト)リンクを使用してエラー発生時に行を取得できます。 |
| [Specify a data source alias] (データソースエイリアスを指定) | このチェックボックスをオンにし、データソース設定で定義した共有接続プールを使用するために、 *Talend Runtime* 側で作成したデータソースのエイリアスを指定します。このオプションは、 *Talend Runtime* 内にジョブをデプロイして実行する時にのみ機能します。<br><br>コンポーネント自体のデータベース設定を使用する場合、データソース接続はコンポーネントの末尾で閉じることになります。これを防ぐには、データソースエイリアスを指定して、共有データベース接続を使用してください。<br><br>このチェックボックスは、[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合は利用できません。 |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| [Use alternate schema] (代替スキーマを使用) | このオプションをオンにすると、データベース接続を確立するコンポーネント(つまり[Basic settings] (基本設定)ビューの[Component list] (コンポーネントリスト)ドロップダウンリストから、選択されたコンポーネント)によって指定されたスキーマ以外のスキーマを使用できます。このオプションを選択した後、[Schema] (スキーマ)フィールドに目的のスキーマの名前を入力します。<br><br>このオプションは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)がオンの場合に利用できます。 |
| [Additional JDBC parameters] (追加のJDBCパラメーター) | 作成するデータベース接続の接続の追加プロパティを指定します。このオプションは、[Basic settings] (基本設定)ビューの[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合は利用できません。<br><br>情報メモ注: 事前定義済みのグローバル変数のリストにアクセスするには、Ctrl + スペースを押します。 |
| [Commit every] (コミットする間隔) | ノードのバッチがDBにコミットされるまでに完了しているべき行数を入力します。このオプションにより、トランザクションの質(ただしロールバックは含まない)、特に実行時のパフォーマンスの向上が保証されます。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |
| [Additional Columns] (追加のカラム) | <ul> <li> <p>このオプションは、データベーステーブルを作成する場合(ドロップありまたはドロップなし)には提供されません。このオプションにより、SQLファンクションを呼び出してカラムにアクションを実行できます。ただし、挿入、アップデート、削除のアクションでないこと、特定の事前処理を必要とするアクションでないことが条件です。 </p> </li> <li> <p> <span>[Name] (名前)</span>: 変更するか、新しいカラムとして挿入するスキーマカラムの名前を入力します。</p> </li> <li> <p> <span>[SQL expression] (SQL式)</span>: 関連するカラムデータを変更または挿入するために実行するSQLステートメントを入力します。</p> </li> <li> <p> <span>[Position] (位置)</span>: 参照カラムに対して実行されるアクションに従って、<span>[Before] (実行前)</span>、<span>[Replace] (置換)</span>または<span>[After] (実行後)</span>を選択します。</p> </li> <li> <p> <span>[Reference column] (参照カラム)</span>: 新規または変更されたカラムを配置または置換するために<span>tDBOutput</span>が使える参照のカラムを入力します。</p> </li> </ul> |
| [Use field options] (フィールドオプションを使用) | 特にデータに二重のアクションがある場合、リクエストをカスタマイズするには、このチェックボックスをオンにします。 |
| [Use Hint Options] (Hint句を使用) | クエリーの実行に役立つHint設定エリアを有効にするには、このチェックボックスをオンにします。このエリアのパラメーターは次のとおりです。<br><br><ul> <li> <span>[HINT] (ヒント)</span>: 構文<span>/*+ */</span>を使って、必要とするヒントを指定します。 </li> <li> <span>[POSITION] (位置)</span>: SQLステートメントのどこにヒントを置くかを指定します。</li> <li> <span>SQL STMT</span>: 使う必要のあるSQLステートメントを選択します。</li> </ul> |
| [Convert columns and table to uppercase] (カラムとテーブルを大文字に変換) | カラムとテーブルの名前を大文字にするには、このチェックボックスをオンにします。 |
| [Debug query mode] (デバッグクエリーモード) | このチェックボックスをオンにすると、データベースのエントリーの処理中に各ステップが表示されます。 |
| [Use Batch Size] (バッチサイズを使用) | このチェックボックスをオンにして、データ処理のバッチモードを有効にします。 |
| [Batch Size] (バッチサイズ) | 各バッチで処理するレコードの数を指定します。<br><br>このフィールドは、[Use batch mode] (バッチモードを使用)チェックボックスがオンの時のみ利用可能です。 |
| [Support null in "SQL WHERE" statement] ("SQL WHERE"ステートメントでnullをサポート) | "SQL WHERE"ステートメントでnullを検証する場合は、このチェックボックスをオンにします。 |
| [Write BLOB values from a different DB] (別のDBからBLOB値を書き込む) | 入力データに現在の接続済みデータベースと異なるデータベースからのBLOBオブジェクトが含まれる場合は、このオプションを選択します。このオプションが選択されていない場合は、このコンポーネントは入力Oracle接続設定を使って、入力データを取得します。 |
| [Enable parallel execution] (並列実行を有効化) | このチェックボックスをオンにすると、複数のデータフローを同時に処理することにより、高速データ処理を実行できます。このフィーチャーは、データベースまたは複数の挿入を並行して処理するアプリケーションの機能と、関係するCPUの数に依存していることにご注意ください。[Number of parallel executions] (並列実行の数)フィールドで次のいずれかの操作を行います。<br><br><ul> <li>実行する並列実行の数を入力します。</li> <li><span>Ctrl + スペース</span>を押し、リストから適切なコンテキスト変数を選択します。コンテキスト変数の詳細は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables" target="_blank">コンテキストと変数を使用</a>をご覧ください。 </li> </ul><br><br>並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得することはできないことにご注意ください。<br><br><ul><li> <span>[Action on table] (テーブルでのアクション)</span>フィールドは、並列化ファンクションでは利用できません。したがって、テーブルを作成する場合は、<span>tCreateTable</span>のコンポーネントを使用する必要があります。 </li><li> 						            並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得できません。 </li> </ul> |
| [Support NLS] (NLSをサポート) | このオプションをオンにすると、グローバリゼーションサポートが有効にできます。関連情報は、[Overview of Globalization Support](https://docs.oracle.com/en/database/oracle/oracle-database/21/nlspg/overview-of-globalization-support.html)をご覧ください。<br><br>このオプションは、[Use an existing connection] (既存の接続を使用)が選択されておらず、[Basic settings] (基本設定)ビューの[DB Version] (データベースバージョン)ドロップダウンリストから、[Oracle 18 and above] (Oracle 18以降)オプションが選択されている場合に利用できます。<br><br>情報メモ注: このオプションは、Talendが提供する8.0.1-R2022-09以降のTalend Studioマンスリーアップデートをインストール済みである時のみ利用可能です。詳細は管理者にお問い合わせください。 |

## グローバル変数

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | <ul> <li> <p> <span>NB_LINE</span>: 入力コンポーネントによって読み取られた行の数、または出力コンポーネントに転送された行の数。これはAfter変数で、整数を返します。</p> </li> <li> <p> <span>NB_LINE_UPDATED</span>: アップデートされた行の数。これはAfter変数で、整数を返します。</p> </li> <li> <p> <span>NB_LINE_INSERTED</span>: 挿入された行の数。これはAfter変数で、整数を返します。</p> </li> <li> <p> <span>NB_LINE_DELETED</span>: 削除された行の数。これはAfter変数で、整数を返します。</p> </li> <li> <p> <span>NB_LINE_REJECTED</span>: 拒否された行の数。これはAfter変数で、整数を返します。</p> </li> <li> <p> <span>QUERY</span>: 処理されたクエリーステートメント。これはAfter変数で、文字列を返します。</p> </li> </ul><br><br>フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。<br><br>変数の詳細は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントでは、DBクエリーの柔軟性によるメリットが提供されており、使用可能なすべてのSQLクエリーが網羅されています。<br><br>[Row] (行) &gt; [Rejects] (リジェクト)コンポーネントは、出力コンポーネントとして使用する必要があります。このコンポーネントを使って、Oracleデータベース内のテーブルまたはテーブルのデータにアクションを実行できます。また、リンクを使って、エラーがあるデータをフィルタリングするリジェクトフローを作成することもできます。tMysqlOutputの使用例については、[リジェクトリンクを使用してエラーデータを取得する](https://help.qlik.com/talend/r/ja-JP/8.0/components/mysql/tmysqloutput-tmap-tfileoutputdelimited-tfileinputdelimited-retrieving-data-in-error-with-reject-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/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections)と、[ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters)をご覧ください。ダイナミック設定とコンテキスト変数の詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)と[コンテキストグループを作成し、その中でコンテキスト変数を定義](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it)をご覧ください。 |
| 制限事項 | ライセンスの互換性の問題のため、このコンポーネントの使用に必要な1つ以上のJARが提供されていません。この特定のコンポーネントに不足しているJARをインストールするには、Component (コンポーネント)タブビューの[Install] (インストール)ボタンをクリックします。Talend StudioのIntegrationパースペクティブにある[Modules] (モジュール)タブでも、不足しているすべてのJARを簡単に見つけて追加できます。詳細は、[外部モジュールをインストール](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/installing-external-modules)をご覧ください。 |