# tOracleSCDELT

SQLクエリーにより専用のOracle SCDテーブルの変更を反映し、追跡します。

tOracleSCDELTは、SQLクエリー(サーバー側の処理モード)を通じてSlowly Changing Dimensionのニーズに対応し、変更を専用のOracle SCDテーブルに記録します。

## tOracleSCDELTの標準プロパティ

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

標準のtOracleSCDELTコンポーネントは、ビジネスインテリジェンスファミリーとデータベースファミリーに属しています。

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

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

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| データベース | 目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。 |
| [Property type] (プロパティタイプ) | <ul> <li> <p><span>[Built-in] (組み込み)</span>と<span>[Repository] (リポジトリー)</span>のいずれかです。</p> </li> <li> <p> <span>[Built-in] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。プロパティは手動で入力します。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: プロパティを保存するリポジトリーファイルを選択します。後続するフィールドは、取得されたデータを使用して事前に入力されます。</p> </li> </ul> |
| [Use an existing connection] (既存の接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。<br><br>WALLETタイプの接続は、tCreateTableコンポーネント、tOracleInputコンポーネント、tOracleOutputコンポーネントでのみ使用されます。起こりうるエラーを防止できるよう、選択した接続がWALLETタイプでないことを確認してください。<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>Oracle OCI: Oracleデータベースへのインターフェイスを提供する一連のC言語ソフトウェアAPIでOracle Callインターフェイスを使用するには、この接続タイプを選択します。<br><br>[Oracle Service Name] (Oracleサービス名): リモートデータベースへの接続時に指定するTNSエイリアスを使用するには、この接続タイプを選択します。<br><br>Oracle SID: システムの特定のデータベースを一意識別するには、この接続タイプを選択します。<br><br>Oracle Custom: クラスター化されたデータベースにアクセスするには、この接続タイプを選択します。 |
| [DB Version] (DBバージョン) | 使用しているOracleバージョンを選択します。 |
| [Host] (ホスト) | データベースサーバーのIPアドレス。 |
| [Port] (ポート) | データベースサーバーのリスニングポート番号。 |
| [Database] (データベース) | データベースの名前 |
| [Username] (ユーザー名)と[Password] (パスワード) | 専用データベースユーザー認証データ。<br><br>パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
| [Source table] (ソーステーブル) | 入力DB2 SCDテーブルの名前。 |
| [Table] (テーブル) | 書き込まれるテーブルの名前。一度に書き込みができるテーブルは1つだけです。 |
| [Action on table] (テーブルでのアクション) | 定義済みのテーブルで、次の操作の1つを選択して実行します。<br><br>[None] (なし): テーブルに対して実行されるアクションはありません。<br><br>[Drop and create table] (ドロップしてテーブルを作成): テーブルが削除され、再作成されます。<br><br>[Create table] (テーブルを作成): 新しいテーブルが作成されます。<br><br>[Create table if not exists] (テーブルが存在しない場合は作成): テーブルが存在しない場合は作成されます。<br><br>[Clear table] (テーブルをクリア): テーブルのコンテンツが削除されます。操作はロールバックできます。<br><br>[Truncate table] (テーブルを切り詰め): テーブルのコンテンツが削除されます。操作をロールバックすることはできません。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | <ul> <li> <p>スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語の<kbd>line</kbd>を避けます。</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> </li> <li> <p> <span>[Built-in] (組み込み)</span>: スキーマが作成され、このコンポーネント専用にローカルに保存されます。<span>[Basic settings] (基本設定)</span>タブにあるコンポーネントスキーマの詳細は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/basic-settings-tab" target="_blank">[Basic settings] (基本設定)</a>をご覧ください。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: スキーマは既に存在し、リポジトリーに保存されています。したがって、再利用できます。<span>[Basic settings] (基本設定)</span>タブにあるコンポーネントスキーマの詳細は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/basic-settings-tab" target="_blank">[Basic settings] (基本設定)</a>をご覧ください。</p> </li> </ul> |
| [Surrogate Key] (代理キー) | リストから代理キーカラムを選択します。 |
| [Creation] (作成) | 代理キーの生成に使う方法を選択します。<br><br>作成方法の詳細は、[SCD管理方法論](https://help.qlik.com/talend/ja-JP/components/8.0/scd/scd-management-methodology)をご覧ください。 |
| [Source Keys] (ソースキー) | 着信データの単一性を確保するために、キーとして使う1つ以上のカラムを選択します。 |
| [Source fields value include Null] (ソースフィールドの値にNullが含まれている) | このチェックボックスをオンにすると、ソースカラムにNull値を含めることができます。<br><br>情報メモ注:<br><br>ここのソースカラムは、[SCD type 1 fields] (SCDタイプ1フィールド)と[SCD type 2 fields] (SCDタイプ2フィールド)のテーブルで定義されているフィールドを参照しています。 |
| [Use SCD Type 1 fields] (SCDタイプ1フィールドを使用) | 変更の追跡が必要ない場合は、タイプ1を使います。たとえば、タイプミスの修正にはSCDタイプ1を使う必要があります。変更を確認するスキーマのカラムを選択します。 |
| [Use SCD Type 2 fields] (SCDタイプ2フィールドの使用) | 変更を追跡する必要がある場合は、タイプ2を使います。たとえば、アップデートを追跡するにはSCDタイプ2を使います。変更を確認するスキーマのカラムを選択します。<br><br>[Start date] (開始日): SCDスキーマに開始日の値を保持するためのカラムを追加します。SCDテーブルの開始日として、入力スキーマカラムの1つを選択できます。<br><br>[End Date] (終了日): SCDスキーマにレコードの終了日の値を保持するためのカラムを追加します。レコードが現在アクティブな場合は、[End Date] (終了日)カラムにはnull値が表示されます。または、[Fixed Year value] (Fixed Yearの値)を選択して架空の年を入力すれば、[End Date] (終了日)フィールドにnull値が含まれないようにできます。<br><br>情報メモ注: 変更レコードの重複を避けるために、このフィールドの各変更を識別できるカラムを選択することをお勧めします。<br><br>[Log Active Status] (アクティブステータスの記録): SCDスキーマにtrueまたはfalseのステータス値を保持するためのカラムを追加します。このカラムは、アクティブなレコードを簡単に見つけるのに役立ちます。<br><br>[Log versions] (バージョンの記録): SCDスキーマにレコードのバージョン番号を保持するためのカラムを追加します。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Additional JDBC parameters] (追加のJDBCパラメーター) | 作成するDB接続の接続の追加プロパティを指定します。このオプションは、[Basic settings] (基本設定)の[Use an existing connection] (既存の接続を使用)チェックボックスをオンにしている場合は使用できません。 |
| [Debug mode] (デバッグモード) | このチェックボックスをオンにすると、データベースのエントリーの処理中に各ステップが表示されます。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |
| [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マンスリーアップデートをインストール済みである時のみ利用可能です。詳細は管理者にお問い合わせください。 |

## [Global Variables] (グローバル変数)

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | 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)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは出力コンポーネントとして使用されます。入力として、入力コンポーネントと[Row] (行) [main] (メイン)のリンクが必要です。 |
| [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)をご覧ください。 |