# tJDBCSCDELT

SCD(Slowly Change Dimensions)タイプ1メソッドを使用して、ソースデータベーステーブルのデータ変更を追跡します and/or タイプ2の方法で、現在のデータと履歴データの両方を指定されたSCDディメンションテーブルに書き込みます。

## tJDBCSCDELTの標準プロパティ

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

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

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

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| プロパティタイプ | 接続の詳細を設定する方法を選択します。<br><br><ul> <li> <p> <span>[Built-In] (組み込み)</span>: このコンポーネントの接続の詳細がローカルに設定されます。関連するすべての接続のプロパティ値を手動で指定する必要があります。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: <span><span>[Repository] (リポジトリー)</span><abbr> &gt; </abbr><span>[Metadata] (メタデータ)</span></span>で一元的に保存された接続の詳細が、このコンポーネントによって再使用されます。 </p> <p>このチェックボックスの横にある <span>[...]</span> ボタンをクリックし、表示された <span>[Repository Content] (リポジトリーのコンテンツ)</span>ダイアログボックスで、再使用する接続の詳細をオンにすると、関連するすべての接続のプロパティに値が自動的に入力されます。</p> </li> </ul> |
| [Use an existing connection] (既存の接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。 |
| JDBC URL | 使用するデータベースのJDBC URL。たとえば、Amazon RedshiftデータベースのJDBC URLはjdbc:redshift://endpoint:port/databaseです。 |
| [Driver JAR] (ドライバーJAR) | 必要なドライバーJARをロードするには、このテーブルに入力してください。これを行うには、テーブルの下の[+]ボタンをクリックして、必要に応じてドライバーJAR用行数を増やします。セルを選択し、セルの右側にある[...]ボタンをクリックして、[Module] (モジュール)ダイアログボックスを開くと使用するドライバーJARを選択できます。たとえば、RedshiftデータベースのドライバーjarはRedshiftJDBC41-1.1.13.1013.jarです。<br><br>詳細は、[\[Importing a database driver\] (データベースドライバのインポート)](https://help.qlik.com/talend/r/ja-JP/8.0/components/jdbc/importing-database-driver)をご覧ください。 |
| [Driver Class] (ドライバークラス) | 指定したドライバーのクラス名を二重引用符で囲んで入力します。たとえば、RedshiftJDBC41-1.1.13.1013.jarドライバーの場合、入力する名前はcom.amazon.redshift.jdbc41.Driverになります。 |
| [Username] (ユーザー名)と[Password] (パスワード) | データベースユーザー認証データ。<br><br>パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
| [DB Schema] (DBスキーマ) | データベーススキーマの名前を指定します。スキーマをサポートしないデータベースの場合は、このフィールドを空のままにします。 |
| [Source table] (ソーステーブル) | データの変更がSCDによってキャプチャーされるソース入力テーブルの名前を指定します。 |
| [Table] (テーブル) | SCDによってキャプチャーされたデータが書き込まれるディメンションテーブルの名前を指定します。 |
| [Action on table] (テーブルでのアクション) | 定義されたテーブルに対して実行する操作を選択します。<br><br><ul> <li> <p> <span>[None] (なし)</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> </ul> |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br><ul> <li> <p> <span>[Built-in] (組み込み)</span>: そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。</p> </li> </ul><br><br>スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。変更を加えると、スキーマは自動的に組み込みになります。<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> |
| [Surrogate key] (代理キー) | 生成された代理キーを保管するカラムを設定するために使われます。代理キーは、[Creation] (作成)リストで選択した方法に基づいて生成できます。 |
| [Creation] (作成) | 代理キーの生成に使う方法を以下から選択します。<br><br><ul> <li> <p> <span>[Auto increment] (自動増加)</span>: 自動増分整数が使われます。</p> </li> <li> <p> <span>[DB sequence] (DBシーケンス)</span>: シーケンスが使われます。</p> </li> </ul> |
| [Source keys] (ソースキー) | 受信データの単一性を確保するためのキーとして使う1つまたは複数のカラムを指定します。 |
| [Use SCD type 0 fields] (SCDタイプ0フィールドの使用) | このチェックボックスをオンにして、表示される[SCD type 0 fields] (SCDタイプ0フィールド)テーブルで、タイプ0 SCDを使って値の変化を追跡するカラムを指定します。<br><br>このオプションは、次のデータベースのみをサポートします: Exasol、MySql、MSSql、Oracle、Postgresql、Snowflake。 |
| [Use SCD type 1 fields] (SCDタイプ1フィールドを使用) | このチェックボックスをオンにして、表示される[SCD type 1 fields] (SCDタイプ1フィールド)テーブルで、タイプ1 SCDを使って値の変化を追跡するカラムを指定します。 |
| [SCD type 1 fields] (SCDタイプ1フィールド) | [+]ボタンをクリックし、カラムごとに必要な数の行を追加し、セルの右側をクリックして、表示されるドロップダウンリストから、タイプ1 SCDを使って値の変化を追跡するカラムを選択します。 |
| [Use SCD type 2 fields] (SCDタイプ2フィールドの使用) | このチェックボックスをオンにして、表示される[SCD type 2 fields] (SCDタイプ2フィールド)テーブルで、タイプ2 SCDを使って値の変化を追跡するカラムを指定します。 |
| [SCD type 2 fields] (SCDタイプ2フィールド) | [+]ボタンをクリックして必要な数の行を追加します。1カラムに対して1行です。セルの右側の矢印をクリックし、表示されるドロップダウンリストから、タイプ2 SCDを使って値の変化を追跡するカラムを選択します。<br><br>このテーブルは、[Use SCD type 2 fields] (SCDタイプ2フィールドを使用)オプションが選択されている時のみ利用可能です。 |
| [Start date] (開始日) | タイプ2 SCDの開始日を保持するカラムを指定します。<br><br>このリストは、[Use SCD type 2 fields] (SCDタイプ2フィールドを使用)オプションが選択されている時のみ利用可能です。 |
| [End date] (終了日) | タイプ2 SCDの終了日を保持するカラムを指定します。<br><br>このリストは、[Use SCD type 2 fields] (SCDタイプ2フィールドを使用)オプションが選択されている時のみ利用可能です。<br><br>情報メモ注: 変更レコードの重複を避けるために、このフィールドの各変更を識別できるカラムを選択することをお勧めします。 |
| [Log active status] (ログのアクティブステータス) | このチェックボックスをオンにし、表示された[Active field] (アクティブフィールド)ドロップダウンリストから、trueまたはfalseのステータス値を保持するカラムを選択します。これは、タイプ2 SCDのアクティブレコードを見つけるのに役立ちます。<br><br>このオプションは、[Use SCD type 2 fields] (SCDタイプ2フィールドを使用)オプションが選択されている時のみ利用可能です。 |
| [Log versions] (ログのバージョン) | このチェックボックスをオンにし、表示された[Version field] (バージョンフィールド)ドロップダウンリストから、タイプ2 SCDのレコードのバージョン番号を保持するカラムを選択します。<br><br>このオプションは、[Use SCD type 2 fields] (SCDタイプ2フィールドを使用)オプションが選択されている時のみ利用可能です。 |
| [Mapping] (マッピング) | 使用するデータベースにメタデータマッピングファイルを指定します。メタデータマッピングファイルは、データベースとJavaの間のデータ型変換に使用します。メタデータマッピングの詳細は、タイプのマッピングに関するドキュメンテーションをご覧ください。<br><br>情報メモ注: Hiveマッピングを使用して、Databricks Delta Lakeをサポートできます。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Source fields value include Null] (ソースフィールドの値にNullが含まれている) | このチェックボックスをオンにすると、ソースカラムにNull値を含めることができます。ここのソースカラムは、[SCD type 1 fields] (SCDタイプ1フィールド)と[SCD type 2 fields] (SCDタイプ2フィールド)のテーブルで定義されているフィールドを参照しています。 |
| [Debug mode] (デバッグモード) | このチェックボックスをオンにすると、データベースのデータの処理中に各ステップが表示されます。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。 |

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

| 変数 | 説明 |
| --- | --- |
| ERROR\_MESSAGE | エラー発生時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| 使用ルール | このコンポーネントはジョブやサブジョブのスタンドアロンコンポーネントとして使用できます。 |

**関連概念**

* [tPostgreSQLSCDELTコンポーネントを使ってPostgreSQLテーブルのデータ変更を追跡する](https://help.qlik.com/talend/ja-JP/components/8.0/scdelt/tjdbcscdelt-tfixedflowinput-tjdbcinput-tlogrow-tracking-data-changes-in-postgresql-table-using-tpostgresqlscdelt-component-standard-component-the "このシナリオでは、tPostgreSQLSCDELTコンポーネントによって実装されたSCD (Slowly Changing Dimensions)タイプ1およびタイプ2のメソッドを使ってPostgreSQLテーブルの従業員データの変更をキャプチャーし、現在のデータと履歴データの両方をSCDディメンションテーブルに書き込むジョブについて説明します。")
* [tJDBCSCDELTコンポーネントを使ってSnowflakeテーブルのデータ変更を追跡する](https://help.qlik.com/talend/ja-JP/components/8.0/scdelt/tjdbcscdelt-tfixedflowinput-tjdbcinput-tlogrow-tracking-data-changes-in-snowflake-table-using-tjdbcscdelt-component-standard-component-the "このシナリオでは、tJDBCSCDELTコンポーネントによって実装されたSCD (Slowly Changing Dimensions)タイプ1およびタイプ2のメソッドを使ってSnowflakeテーブルの従業員データの変更をキャプチャーし、現在のデータと履歴データの両方をSCDディメンションテーブルに書き込むジョブについて説明します。")