# DatabaseSelectから1つのtDBInputに移行

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

## 始める前に

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

## このタスクについて

この例には、従業員情報が含まれているデータベースからデータを読み取ってXMLストラクチャーにマッピングするtHMapと、結果をXMLファイルに書き込むtFileOutputRawを持つ単純ジョブが用意されています。 ジョブは次のようになります。 ![](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/tdm_databaseselect_migration_job_1.png)

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

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

## 手順

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

   ![](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/tdm_databaseselect_migration_job_2.png)
4. tDBInputをダブルクリックし、クエリーをアップデートして、DatabaseSelectファンクションで使われているフィルターをマッチングさせます。

   この例では、EMPLOYEE\_IDの値が200を超えるレコードを選択したいとします。全体的なクエリーは次のようになります。
   ```
   "SELECT 
     `employees`.`EMPLOYEE_ID`, 
     `employees`.`FIRST_NAME`, 
     `employees`.`LAST_NAME`, 
     `employees`.`EMAIL`, 
     `employees`.`PHONE_NUMBER`, 
     `employees`.`HIRE_DATE`, 
     `employees`.`JOB_ID`, 
     `employees`.`SALARY`, 
     `employees`.`COMMISSION_PCT`, 
     `employees`.`MANAGER_ID`, 
     `employees`.`DEPARTMENT_ID`
   FROM `employees`
   WHERE `EMPLOYEE_ID` > 200"
   ```
5. Mappingパースペクティブで、マップの入力として使われているデータベースストラクチャーの下にあるRepresentationsフォルダーを展開します。
   * [Map] (マップ)表記があれば、次のステップに移動できます。
   * [Map] (マップ)表記がない場合は、[Representations] (表記)を右クリックして[New Map] (新しいマップ)をクリックします。
6. ジョブで使われたマップを開き、[Input] (入力)側の[Database] (データベース)をクリックして[Map] (マップ)を選択してOKをクリックすると、表記がアップデートされます。
7. 入力ストラクチャーでDatabaseSelectファンクションを削除します。

   これは、[IO/Database] (IO/データベース)タブにあるルートエレメントか、Rowループのいずれかにあります。
8. マップとジョブを保存します。

## タスクの結果

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

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