0

Talend Open Studio for Data Integration では、特定のデータベース テーブルのスキーマを XML ファイルとして手動でエクスポートできます。

スキーマ エディタ/ビューアでエクスポート ボタンをクリックするだけで完了です。

しかし、どうすればジョブ内でこれを行うことができますか? 対応する成分は?または、回避策はありますか?

4

1 に答える 1

1

次のコンポーネントが必要です。

  • tMysqlColumnList (問題のテーブル名を指定)
  • tFixedFlowInput (指定された値/変数から入力フローを作成します)
  • ある種の出力; あなたが得ているものを示すtLogRowと、満足したらtFileOutputXML

トリックは、tFixedFlowInput で必要なもの (列名、列の型、is_nullable など) を使用してスキーマを作成することです。列名は何でもかまいません。値は、tMysqlColumnListが入力するグローバル変数の 1 つでなければなりません。

tFixedFlowInputの [値] 列をクリックし、コントロールとスペースを押して、使用可能なすべての変数を表示できます。たとえば((String)globalMap.get("tMysqlColumnList_1_DATA_TYPE"))、各列のデータ型が表示されます。

次のようなスキーマに 2 つのフィールドを追加します。

columnName ((String)globalMap.get("tMysqlColumnList_1_COLUMN_NAME"))
columnType ((String)globalMap.get("tMysqlColumnList_1_DATA_TYPE"))

そのテーブルのすべての列名とそのデータ型を一覧表示します。

多数のテーブルを反復処理する場合は、これらすべての前にtMysqlTableListを配置し、テーブル リストの各結果に対してtMysqlColumnListを反復処理するのと同様のことを行うことができます。

それが理にかなっていることを願っています。

出力の xml 構造を理解するのはあなた次第ですが、これで列の定義が得られます。

于 2013-05-07T15:25:26.357 に答える