# データベース接続を移行

## このタスクについて

Metadataフォルダーでデータベース接続を設定してジョブで再利用した後、データベースの種類を変更したい場合、Metadataフォルダーにターゲット接続も設定されていれば、ソースデータベース接続をターゲット接続に移行できます。

情報メモ注: この機能はデータ統合ジョブにのみ適用されます。HBase、Hive、Impala、Iceberg、MapR-DBの各データベースタイプは移行できません。

## 手順

1. [Repository] (リポジトリー)ツリービューで[Metadata] (メタデータ) &gt; [Db Connections] (データベース接続)を展開し、移行するデータベース接続を右クリックして、コンテキストメニューから[Migrate Db connection to...] (データベース接続の移行先...)を選択します。

   ![\[Migrate Db connection to...\] (データベース接続の移行先...)コンテキストメニュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/migrate-db-connection-context-menu.png)
2. データベース移行ウィザードが開きます。

   ![\[Database connection migration - Step 1/4\] (データベース接続の移行 - ステップ1/4)ダイアログボックス。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/migrate-db-connection-step1.png)

   ウィザードのSourceカラムに、ソース接続とそこから取得されたスキーマが、再利用されるジョブ数と共に表示されます。Targetカラムで、移行したいデータベース接続を選択します。ソース接続に存在するスキーマのうち、ターゲット接続に同じ名前(大文字と小文字は区別されません)で存在するスキーマには、![OK](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/ok.svg) アイコンが表示されます。[Next] (次へ)をクリックし、次のステップに進みます。
3. ソース接続を使用するクローズ状態のジョブがすべてウィザードに表示されます。

   ![\[Database connection migration - Step 2/4\] (データベース接続の移行 - ステップ2/4)ダイアログボックス。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/migrate-db-connection-step2.png)

   以下の条件を満たす場合、データベースコンポーネントは移行可能です:
   * このコンポーネントは、リポジトリーのデータベース接続を再利用します。コンポーネントの[Property Type] (プロパティタイプ)が[Built-In] (組み込み)に設定されている場合、コンポーネントは検出されず、したがって変更されません。
   * コンポーネントで再利用されるスキーマが、同じ名前でターゲット接続に存在します(大文字と小文字は区別されません)。
   * このコンポーネントは、ターゲットデータベースに同等のものがあります。
   * サブジョブの最後のMapコンポーネントがリポジトリー接続を使用する場合、ELTコンポーネントは移行可能です。最後のMapコンポーネントのプロパティタイプが[Built-In] (組み込み)に設定されている場合、サブジョブにあるどのELTコンポーネントも検出されなくなります。

     情報メモ注: ELT UniteMapのケースでは、OracleデータベースとTeradataデータベース間の移行のみサポートされています。

   各コンポーネントには、移行可能かどうかを示すため、![OK](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/ok.svg)アイコンまたは![\[Warning\] (警告)](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/warning_small.svg)アイコンが付きます。コンポーネントが移行可能であり、移行元の接続でスキーマを再利用する場合は、コンポーネント名の後にスキーマ名が表示されます。コンポーネントが移行不可能な場合は、その理由が強調表示されます。ジョブは、そのジョブ内で検出されたコンポーネントがすべて移行可能である場合のみ移行できます。

   コンポーネントがソース接続でスキーマを再利用し、テーブル名がスキーマ名と同じであれば、テーブル名は移行後にターゲット接続でスキーマ名に変更されます。たとえば、ソース接続にあるtable\_1はターゲット接続にあるTABLE\_1とマッチします。コンポーネントがこのスキーマを再利用し、そのテーブル名もtable\_1である場合、移行後にテーブル名はTABLE\_1に変更されます。Talend Studioは、ターゲットテーブルのカラムを検証しません。

   コンポーネントがソース接続を使用しているものの、この接続のスキーマは使用していない場合、このコンポーネントはターゲット接続に移行されますが、スキーマとテーブル名は変更されません。

   たとえばMySQLデータベース接続からOracleに移行する場合:
   | ソース接続 | ターゲット接続 |  |  |
   | --- | --- | --- | --- |
   | 名前 | スキーマ | 名前 | スキーマ |
   | source\_conn (MySQL) | table\_1 | target\_conn (Oracle) | TABLE\_1 |
   | table\_2 | TABLE\_2 |  |  |
   | table\_3 | TABLE\_3 |  |  |
   | table\_4 |  |  |  |

   次のテーブルは、移行可能なジョブ/コンポーネントと移行不可能なジョブ/コンポーネント、移行前後のスキーマタイプとテーブル名を示したものです。
   | 移行のケース | 移行前 | コンポーネントが移行可能 | ジョブが移行可能 | 移行後 |  |  |  |  |  |  |
   | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
   | ジョブ | コンポーネント | プロパティタイプ | スキーマタイプ | テーブル名 |  |  | コンポーネント | プロパティタイプ | スキーマタイプ | テーブル名 |
   | Job1 | tMysqlInput | source\_conn | source\_conn-table\_1 | table\_1 | あり | あり | tOracleInput | target\_conn | target\_conn-TABLE\_1 | TABLE\_1 |
   | tMysqlOutput | source\_conn | source\_conn-table\_2 | table\_2 | あり | tOracleOutput | target\_conn | target\_conn-TABLE\_2 | TABLE\_2 |  |  |
   | tMysqlBulkExec | source\_conn | source\_conn-table\_3 | table\_3 | あり | tOracleBulkExec | target\_conn | target\_conn-TABLE\_3 | TABLE\_3 |  |  |
   | tMysqlOutputBulkExec | source\_conn | source\_conn-table\_3 | table\_X | あり | tOracleOutputBulkExec | target\_conn | target\_conn-TABLE\_3 | table\_X |  |  |
   | tMysqlSP | source\_conn | built-in/generic | table\_Y | あり | tOracleSP | target\_conn | built-in/generic | table\_Y |  |  |
   | tMySQLValidRows | 組み込み | built-in/generic | table\_Z | 該当せず | tMySQLValidRows | 組み込み | built-in/generic | table\_Z |  |  |
   | tMysqlInput | 組み込み | 組み込み | table\_A | 該当せず | tMysqlInput | 組み込み | 組み込み | table\_A |  |  |
   | tMysqlInput | 組み込み | source\_conn-table\_3 | table\_3 | 該当せず | tMysqlInput | 組み込み | source\_conn-table\_3 | table\_3 |  |  |
   | Job2 | tMysqlInput | source\_conn | source\_conn-table\_1 | table\_1 | あり | なし |  |  |  |  |
   | tMysqlOutput | source\_conn | source\_conn-table\_4 | table\_4 | なし |  |  |  |  |  |  |
   | tMysqlTableList | source\_conn |  |  | あり |  |  |  |  |  |  |
   | tMysqlColumnList | source\_conn |  |  | なし |  |  |  |  |  |  |
   | Job3 | tELTMysqlInput |  | source\_conn-table\_1 | table\_1 | あり | あり | tELTOracleInput |  | target\_conn-TABLE\_1 | TABLE\_1 |
   | tELTMysqlMap\_1 |  |  |  | あり | tELTOracleMap |  |  |  |  |  |
   | tELTMysqlMap\_2 | source\_conn |  |  | あり | tELTOracleMap | target\_conn |  |  |  |  |
   | tELTMysqlOutput |  | built-in/generic | table\_X | あり | tELTOracleOutput |  | built-in/generic | table\_X |  |  |

   CDCのユースケースの場合、あるデータベースから別のデータベースに移行するためには、ソースデータウェアハウスへの接続とCDC専用データベースへの接続の両方で、リポジトリーにターゲット接続を設定しておく必要があります。移行はCDC専用のデータベース接続からトリガーされることが必要です。

   検索フィールドを使ってジョブをフィルタリングしたり、ドロップダウンリストから選択したりすることで、移行可能なジョブと移行不可能なジョブをすべて表示できます。[Next] (次へ)をクリックし、次のステップに進みます。
4. 移行可能なジョブの要約はウィザードに表示されます。[Apply] (適用)をクリックして移行を行います。

   ![\[Database connection migration - Step 3/4\] (データベース接続の移行 - ステップ3/4)ダイアログボックス。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/migrate-db-connection-step3.png)
5. 移行レポートページが表示されます。[Check the reoprt] (レポートをチェック)リンクをクリックしてレポートを開くか、[Browse] (参照)ボタンをクリックし、レポートが保存されている&lt;Studio\_Home&gt;\workspace\report\massUpdateディレクトリーに移動します。

   ![\[Database connection migration - Step 4/4\] (データベース接続の移行 - ステップ4/4)ダイアログボックス。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/migrate-db-connection-step4.png) 移行レポートはCSV形式で、移行されたジョブに関する次の情報が含まれています: ![データベース接続の移行のレポート。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/migrate-db-connection-report.png)