# DatabaseInsertから複数の出力を持つtDBOutputに移行

非推奨のDatabaseInsertファンクションをtDBOutputコンポーネントに置き換えるため、ジョブおよび複数出力のマップをアップデートします。

同じステップでDatabaseUpdateファンクションを置き換えることができます。

情報メモ重要: 複数の出力を持つDatabaseInsertやDatabaseUpdateからの移行は厄介なことがあります。問題を回避するため、次のステップを順番どおり実行してください。

## 始める前に

* DatabaseInsertファンクションを使用し、複数の出力を持っているtHMapが含まれているジョブがあること。
* Talend Studioでデータベースへの接続が作成済みであること。詳細は、[データベース接続を設定](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/setting-up-database-connection)をご覧ください。スキーマがマップで使われているストラクチャーと同じであることを確認します。

## このタスクについて

この例には、企業情報が含まれているXMLファイルを読み取るtFileInputRawと、XMLデータを2つのデータベーステーブルにマッピングするtHMapを持つ単純ジョブが用意されています。 ジョブは次のようになります。 ![](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/tdm_databaseinsert_migration_job_1.png)

tHMapで使われるマップは次のようになります。 ![](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/tdm_databaseinsert_multi_migration_1.png)

この例の目的は、非推奨のDatabaseInsertファンクションを削除し、ジョブに対して同じ動作を維持することです。

## 手順

1. 自分のジョブで、tHMapの後に[Metadata] (メタデータ) &gt; [Db Connections] (データベースコネクター)から出力データベーステーブルをドラッグ＆ドロップします。
2. プロンプトが表示されたらtDBOutputを選択し、OKをクリックします。
3. [Row] (行) &gt; [Main] (メイン)接続を使ってtDBOutputコンポーネントをtHMapにリンクさせ、各接続の名前を入力します。

   情報メモ重要: 出力接続の名前はそれぞれ、マップの出力ストラクチャーにある各テーブルのルートエレメント名と同じであることが必要です。この例では、出力エレメントにemployeesとdepartmentsという名前が付けられています。マップを正しく動作させるためには、接続にemployeesとdepartmentsという名前を付ける必要があります。

   情報メモ情報メモ重要:重要: 出力接続の名前はそれぞれ、マップの出力ストラクチャーにある各テーブルのルートエレメント名と同じであることが必要です。この例では、出力エレメントにemployeesemployeesとdepartmentsdepartmentsという名前が付けられています。マップを正しく動作させるためには、接続にemployeesemployeesとdepartmentsdepartmentsという名前を付ける必要があります。 ![](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/tdm_databaseinsert_multi_migration_job_2.png)
4. ターゲットコンポーネントのスキーマを取得するかどうかを尋ねられたら、[Yes] (はい)をクリックします。
5. Mappingパースペクティブで、マップの出力として使われている全データベースストラクチャーの下にあるRepresentationsフォルダーを展開します。
   * [Map] (マップ)表記があれば、次のステップに移動できます。
   * [Map] (マップ)表記がない場合は、[Representations] (表記)を右クリックして[New Map] (新しいマップ)をクリックします。
6. ジョブで使われたマップを開き、[Output] (出力)側の[Database] (データベース)、[Clear] (クリア)、OKの順にクリックすると、表記が削除されます。
7. 出力ストラクチャーでDatabaseInsertファンクションを削除します。

   このファンクションは、[IO/Database] (IO/データベース)タブにあるデータベーステーブルの名前に対応するエレメントか、Rowループのいずれかにあります。
8. 出力ストラクチャーの各テーブル(この例ではemployeesとdepartments)のルートエレメントをクリックし、[IO/Database] (IO/データベース)タブにWriteURLファンクションを追加します。

   ![](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/tdm_databaseinsert_multi_migration_2.png)
9. WriteURLファンクションをダブルクリックし、[Representation] (表記)の横にある[...]ボタンをクリックして[Map] (マップ)を選択して、[OK]をクリックします。
10. マップとジョブを保存します。

## タスクの結果

以上で、お使いのジョブは非推奨のDatabaseInsertファンクションではなくtDBOutputコンポーネントを使用するようになります。このジョブを実行すれば、同じ結果が得られます。

情報メモヒント: tHMap上のエラーアイコンを削除する場合は、ジョブをいちど終了して開き直すことが必要な場合があります。