親/子テーブルにデータを挿入 - 7.3

Access

Version
7.3
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > Access
データガバナンス > サードパーティーシステム > DBコンポーネント > Access
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > Access
Last publication date
2024-02-22

次のジョブは、親テーブル Table1を使用して2つの子テーブルNameおよびBirthdayを生成するという複数テーブルの挿入を行う上級データベースユーザー専用です。

Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントをご覧ください。

  • Access 2007で、Database1という名前のAccessデータベースを作成します。

  • Accessデータベースが作成されたら、2つのカラム見出しNameBirthdayを持つTable1という名前のテーブルを作成します。

Talend Studio Integration パースペクティブに、ジョブはtAccessConnectiontAccessCommittAccessInputtAccessOutput tAccessCloseを含む12のコンポーネントを必要とします。

  • 以下のコンポーネントを[Palette] (パレット)からデザインワークスペースにドロップします: tFileListtFileInputDelimitedtMaptAccessOutput (x2)、tAccessInput (x2)、tAccessCommittAccessClosetLogRow (x2)。

  • [Iterate] (反復処理)リンクを使ってtFileListコンポーネントを入力ファイルコンポーネントに接続します。処理されるファイルの名前がグローバル変数を使用してtFileListディレクトリーから動的に入力されます。

  • tFileInputDelimitedコンポーネントをtMapコンポーネントに接続し、この2つの出力Accessコンポーネントの間にフローをディスパッチします。メインデータフローを表すこれらの各接続に、[Row] (行)リンクを使用します。

  • ファイルの取得元となるディレクトリーなど、tFileListコンポーネントのプロパティを設定するために使われます。

  • tAccessConnectionコンポーネントを追加し、それをこのジョブのスターターコンポーネントに接続します。この例では、tFileListコンポーネントは、OnComponentOkリンクを使用して実行順序を定義します。

  • tAccessConnectionコンポーネントビューで、接続の詳細を手動で設定するか、またはMetadata DB接続エントリーとして一元的に保存する場合は、[Repository] (リポジトリー)から取得します。メタデータの詳細は、Talend Studio ユーザーガイドをご覧ください。

  • tFileInputDelimitedコンポーネントの[Basic settings] (基本設定)ビューで、 [Ctrl]+[Space]バーを押して変数リストにアクセスします。[File Name] (ファイル名)フィールドをグローバル変数tFileList_1.CURRENT_FILEPATHに設定します。変数の使い方については、 Talend Studioユーザーガイドをご覧ください。

  • 残りのフィールドを通常どおりに設定し、ファイル構造に基づいて行およびフィールドの区切りを定義します。

  • 次に、[Edit schema] (スキーマを編集)ダイアログボックスを使用してスキーマを手動で設定するか、[Repository] (リポジトリー)からスキーマを選択します。処理するデータの性質に基づいて、データ型が正しく設定されていることを確認します。

  • tMap出力エリアで、2つの出力テーブルを追加します。1つはNameというテーブルをNameテーブルに、2番目はBirthdayというテーブルをBirthdayテーブルに追加します。tMapコンポーネントの詳細は、 Talend Studioユーザーガイドをご覧ください。

  • [Input] (入力)エリアからNameカラムをドラッグし、Nameテーブルにドロップします。

  • [Input] (入力)エリアからBirthdayカラムをドラッグし、Birthdayテーブルにドロップします。

  • 次に出力行リンクを接続して、関連するDB出力コンポーネントにフローを正しく配分するようにします。

  • tAccessOutputコンポーネントの[Basic settings] (基本設定)ビューで、[Use an existing connection] (既存の接続を使用)チェックボックスをオンにして、tAccessConnectionの詳細を取得します。

  • 正しいテーブルに対応するように[Table] (テーブル)名を設定するために使われます。この例ではNameまたはBirthdayのいずれかになります。

  • [Action on table] (テーブルでのアクション)ドロップダウンリストからDefaultを選択します。これは、テーブルが既に存在し、テーブルに対して操作が必要ないためです。

  • 両方の出力コンポーネントのデータに対して[Action on data] (データでのアクション)として[Insert] (挿入)を選択します。

  • [Sync columns] (カラムを同期)をクリックして、tMapのスキーマセットを取得します。

  • 次に、OnComponentOkリンクを使用して最初のtAccessOutputコンポーネントを最初のtAccessInputコンポーネントに接続します。

  • tAccessInputコンポーネントの[Basic settings] (基本設定)ビューで、[Use an existing connection] (既存の接続を使用)チェックボックスをオンにして、配分されたデータフローを取得します。次に、[Edit schema] (スキーマを編集)ダイアログボックスを使用してスキーマを手動で設定します。

  • それに応じて[Table Name] (テーブル名)を設定するために使われます。tAccessInput_1では、これはNameになります。

  • [Guess Query] (クエリーを推測)をクリックします。

  • [Row] (行) > [Main] (メイン)リンクを使用して、各tAccessInputコンポーネントをtLogRowコンポーネントに接続します。各tLogRowコンポーネントの[basic settings] (基本設定)ビューで、[Mode] (モード)フィールドの[Table] (テーブル)を選択します。

  • トランザクションコミットでジョブを終了するために、 デザインワークスペースのtFileListコンポーネントの下にtAccessCommitコンポーネントを追加し、OnComponentOkリンクを使用してそれらを相互に接続します。

  • tAccessCommitコンポーネントの[basic settings] (基本設定)ビューで、[Component list] (コンポーネントリスト)から使用する接続を選択します。このシナリオではtAccessConnection_1です。

  • ジョブを保存し、[F6]を押して実行します。

NameテーブルとBirthdayテーブルを生成するために、親テーブルTable1が再利用されます。