メイン コンテンツをスキップする 補完的コンテンツへスキップ

DatabaseSelectから複数の出力を持つtDBInputに移行

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

始める前に

  • DatabaseSelectファンクションを使用し、複数の入力を持っているtHMapが含まれているジョブがあること。
  • Talend Studioでデータベースへの接続が作成済みであること。詳細は、データベース接続を設定をご覧ください。スキーマがマップで使われているストラクチャーと同じであることを確認します。

このタスクについて

この例には、企業情報が含まれている2つのデータベーステーブルからデータを選択し、XTMストラクチャーにマッピングするtHMapを持つシンプルなジョブが用意されています。続いて、tFileOutputRawによって結果がXMLファイルに書き込まれます。 ジョブは次のようになります。
tHMapで使われるマップは次のようになります。

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

手順

  1. 自分のジョブで、tHMapの前に[Metadata] (メタデータ) > [Db Connections] (データベースコネクター)から入力データベーステーブルをドラッグ&ドロップします。
  2. プロンプトが表示されたらtDBInputを選択し、[OK]をクリックします。
  3. [Row] (行) > [Main] (メイン)接続を使って、tDBInputコンポーネントを自分のtHMapにリンクさせます。
    情報メモ重要: データベースのテーブルは、マップで使われている入力ストラクチャーと同じ順序でリンクされていることが必要です。この例では、ルートの下にある最初のテーブルはemployeesで、2番目のテーブルはdepartmentsです。マップを正しく動作させるためには、まずemployeesコンポーネントを、その次にdepartmentsコンポーネントをリンクさせる必要があります。
  4. オプション: 必要であればtDBInputコンポーネントをダブルクリックし、クエリーをアップデートして、DatabaseSelectファンクションで使われているフィルターをマッチングさせます。
  5. マッピングパースペクティブで、マップの入力として使われている全データベースストラクチャーの下にあるRepresentationsフォルダーを展開します。
    • [Map] (マップ)表記があれば、次のステップに移動できます。
    • [Map] (マップ)表記がない場合は、[Representations] (表記)を右クリックして[New Map] (新しいマップ)をクリックします。
  6. ジョブで使われたマップを開き、[Input] (入力)側の[Database] (データベース)[Clear] (クリア)[OK]の順にクリックすると、表記が削除されます。
  7. 入力ストラクチャーでDatabaseSelectファンクションを削除します。

    このファンクションは、[IO/Database] (IO/データベース)タブにあるデータベーステーブルの名前に対応するエレメント上か、Rowループ上のいずれかにあります。

  8. 入力ストラクチャーの各テーブル(この例ではemployeesdepartments)のルートエレメントをクリックし、[IO/Database] (IO/データベース)タブにReadURLファンクションを追加します。
  9. ReadURLファンクションをダブルクリックし、[Representation] (表記)の横にある[...]ボタンをクリックして[Map] (マップ)を選択して、[OK]をクリックします。
  10. マップとジョブを保存します。

タスクの結果

以上で、お使いのジョブは非推奨のDatabaseSelectファンクションではなくtDBInputコンポーネントを使用するようになります。このジョブを実行すれば、同じ結果が得られます。
情報メモヒント: tHMap上のエラーアイコンを削除する場合は、ジョブをいちど終了して開き直すことが必要な場合があります。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。