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

MySQLテーブルにBLOBデータを挿入するジョブの作成

"C:/Talend/images"フォルダーにあるピクチャーファイルを反復処理し、それぞれのピクチャーファイルをblobdemoテーブルに挿入するジョブを作成します。

Designerでのジョブのスクリーンショット。
  • tFileListは、"C:/Talend/images"フォルダーにあるピクチャーをすべて反復処理します。
  • tFixedFlowInputは、現在のファイルパスを取得して出力します。
  • tMapは、ファイルをバイト配列として読み取るルーチンを呼び出します。
  • tMysqlOutputは、BLOBデータをターゲットテーブルに挿入します。

ジョブを設定する

Procedure

  1. 標準ジョブを作成し、その名前(この例ではInsertblobdatatodatabase)を入力します。
  2. デザインワークスペースに、tFileListtFixedFlowInputtMaptMysqlOutputの各コンポーネントを配置します。
  3. [Iterate] (反復処理)リンクを使ってtFileListtFixedFlowInputを接続します。
  4. [Row] (行) > [Main] (メイン)リンクを使って、tFixedFlowInputtMapに、tMaptMysqlOutputに接続します。

データ入力を設定する

Procedure

  1. tFileList[Basic settings] (基本設定)ビューで、[Directory]フィールドにある[...]ボタンをクリックしてディレクトリー(この例では"C:/Talend/images")を開きます。
    コンポーネントの基本設定のスクリーンショット。
  2. [FileList Type] (FileListタイプ)リストで[Files] (ファイル)を選択します。
  3. [+]ボタンをクリックし、[Files] (ファイル)エリアに行を追加して、ファイルに一致するフィルターを定義します。この例では"*.png"と入力してピクチャーファイルをすべて取得します。
  4. tFixedFlowInput[Basic settings] (基本設定)ビューで、[Edit Schema] (スキーマを編集)ボタンをクリックしてString型のfilepathカラムを追加します。
    コンポーネントスキーマのスクリーンショット。

    定義されたカラムが[Values] (値)パネルに表示されます。

  5. filepathカラムの[Value] (値)セルをクリックし、[Ctrl] + [Space]を押してグローバル変数リストにアクセスします。
  6. グローバル変数リストで、tFileList_1_CURRENT_FILEPATHを選択します。
    コンポーネントの基本設定のスクリーンショット。

ユーザールーチンを呼び出すようtMapコンポーネントを設定

Before you begin

  • ユーザールーチンを作成済みであること。

Procedure

  1. tMapをダブルクリックしてマップエディターを開きます。
  2. [+]ボタンをクリックし、out1という名前の出力テーブルを追加します。
  3. [Schema editor] (スキーマエディター)ビューの右下(out1)で、[+]ボタンをクリックしてbyte型のpicture行を追加します。
    [Schema editor] (スキーマエディター)ビューのスクリーンショット。
  4. 出力側のpictureカラムにある[Expression] (式)フィールドに、MyRoutineDemo.ByteArrayFromFile(row1.filepath)と入力します。
  5. OKをクリックして変更を検証し、ポップアップ表示されるダイアログボックスで表示される伝播を受け入れます。

BLOBデータをターゲットテーブルに挿入

Before you begin

  • MySQLテーブルを作成済みであること。

Procedure

  1. デザインワークスペースでtMysqlOutputコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示し、パラメーターを定義します。
  2. [Property Type] (プロパティタイプ)[Repository] (リポジトリー)に設定し、[...]ボタンをクリックして正しいDB接続を選択します。
    コンポーネントの基本設定のスクリーンショット。

    対応するフィールドに接続の詳細が自動的に表示されます。

  3. [Table] (テーブル)フィールドの横にある[...]ボタンをクリックし、ターゲットテーブル(この例ではblobdemo)を接続します。

MySQLテーブルにBLOBデータを挿入するジョブを実行

Procedure

  1. [Ctrl] + [S]を押してジョブを保存します。
  2. [F6]を押してジョブを実行します。
  3. blobdemoテーブルでクエリーを実行し、ピクチャーが正しく挿入されたかどうか確認します。

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

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