マッピングファイルにアクセスしてタイプマッピングを定義
手順
- Studioのメインウィンドウのツールバーでをクリックするか、メニューバーで[File] (ファイル) > [Edit Project Properties] (プロジェクトプロパティを編集)とクリックして[Project Settings] (プロジェクト設定)ダイアログボックスを開きます。
-
ダイアログボックスのツリービューで[General] (全般)を展開し、[Metadata of Talend Type] (タイプのメタデータ)を選択して[Metadata of TalendType] (TalendTypeのメタデータ)ビューを開くと、Talend Studioで使用されているすべてのデータベースタイプのマッピングファイルがリスト表示されます。
[Import] (インポート)、[Export] (エクスポート)、[Remove] (削除)をクリックすれば、変換ファイルをインポート、エクスポート、削除できます。
必要に応じて変換ファイルを変更するには、ファイルをダブルクリックまたは選択し、[Edit] (編集)ボタンをクリックして[Edit mapping file] (マッピングファイルの編集)ダイアログボックスを開いてXMLコードを直接変更します。
タイプマッピングを定義する時は、Talendタイプからデータベースタイプへ、そしてデータベースタイプからTalendタイプへの両方にマッピングする必要があります。
- <dbTypes>エレメントとその子エレメントである<dbType>によって、サポートされるデータベースタイプが定義されます。マッピングファイルに新しいデータベースを追加するには、<dbTypes>エレメントの下に<dbType>エレメントを追加する必要があります。下の例では、BOOLEANとYESNOという2つのデータベースタイプを追加します。
<dbType type="BOOLEAN"/> <dbType type="YESNO"/>
Talendが提供するR2020-08 Studioのマンスリーアップデート(またはそれ以降のバージョン)をインストールしている場合は、各日付タイプのデフォルトパターンを設定できます。これにより、テーブルからスキーマを取得したり推測したりする際に、日付タイプのカラムの日付パターンを自動的に設定できるようになります。次の例では、DATEとDATETIMEという2つのデータベース型が追加されています。
<dbType type="DATE" defaultPattern="yyyy-mm-dd"/> <dbType type="DATETIME" defaultPattern="yyyy-mm-dd hh:mm:ss.SSSSSS"/>
- <talendToDbTypes>エレメントとその子エレメントである<talendType>エレメントによって、メタデータカラムでTalendタイプを設定する時に、提案されたデータベースタイプリストとデフォルトのデータベースタイプが定義されます。Talendタイプを1つまたは複数のデータベースタイプにマップするには、talendTypeエレメントを<talendToDbTypes>エレメントに追加する必要があります。下の例では、Talendタイプid_BooleanがBOOLEANとYESNOという2つのデータベースタイプにマップされています。
<talendType type="id_Boolean"> <dbType type="BOOLEAN"/> <dbType type="YESNO"/> </talendType>
- <dbToTalendTypes>エレメントとその子エレメントである<dbType>によって、データベースからスキーマを取得する時に、提案されたTalendタイプリストとデフォルトのTalendタイプが定義されます。データベースタイプを1つまたは複数のTalendタイプにマップするには、dbTypeエレメントを<dbToTalendTypes>エレメントに追加する必要があります。下の例では、データベースYESNOがTalendタイプid_Booleanにマップされています。
<dbType type="YESNO"> <talendType type="id_Boolean"/> </dbType>
情報メモ注: Talendタイプマッピングファイルにあるdefault、defaultLength、defaultPrecision、ignoreLen、ignorePre、preBeforelenの各属性は考慮されません。新しいタイプマッピングを定義する時にこれらの属性を追加する必要はありません。Accessデータベース用のXMLメタデータマッピングファイルは次のとおりです。
<?xml version="1.0"?> <mapping> <dbms product="ACCESS" id="access_id" label="Mapping Access" default="true"> <dbTypes> <dbType type="BIT" ignoreLen="true" ignorePre="true"/> <dbType type="BOOLEAN" ignoreLen="true" ignorePre="true"/> <dbType type="COUNTER"/> <dbType type="DATE" ignoreLen="true" ignorePre="true"/> <dbType type="DOUBLE" ignoreLen="true" ignorePre="true"/> <dbType type="DECIMAL" ignoreLen="true" ignorePre="true"/> <dbType type="FLOAT" ignoreLen="true" ignorePre="true"/> <dbType type="INTEGER" ignoreLen="true" ignorePre="true"/> <dbType type="NUMERIC" ignoreLen="true" ignorePre="true"/> <dbType type="REAL" ignoreLen="true" ignorePre="true"/> <dbType type="SMALLINT" ignoreLen="true" ignorePre="true"/> <dbType type="TINYINT" ignoreLen="true" ignorePre="true"/> <dbType type="TIME" ignoreLen="true" ignorePre="true"/> <dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true"/> <dbType type="VARCHAR" default="true" defaultLength="200" ignorePre="true"/> <dbType type="DATETIME" ignoreLen="true" ignorePre="true"/> <dbType type="MEMO" ignoreLen="true" ignorePre="true"/> <dbType type="YESNO" ignoreLen="true" ignorePre="true"/> </dbTypes> <language name="java"> <talendToDbTypes> <!-- Adviced mappings --> <talendType type="id_List"/> <talendType type="id_Boolean"> <dbType type="YESNO" default="true"/> <dbType type="BOOLEAN"/> </talendType> <talendType type="id_Byte"> <dbType type="TINYINT" default="true"/> <dbType type="SMALLINT"/> <dbType type="INTEGER"/> </talendType> <talendType type="id_byte[]"> </talendType> <talendType type="id_Character"> <dbType type="VARCHAR" default="true"/> </talendType> <talendType type="id_Date"> <dbType type="DATE" default="true"/> <dbType type="TIMESTAMP"/> <dbType type="TIME"/> <dbType type="DATETIME"/> </talendType> <talendType type="id_BigDecimal"> <dbType type="NUMERIC" default="true"/> <dbType type="DOUBLE"/> <dbType type="FLOAT"/> <dbType type="DECIMAL"/> <dbType type="REAL"/> </talendType> <talendType type="id_Double"> <dbType type="DOUBLE" default="true"/> <dbType type="NUMERIC"/> <dbType type="FLOAT"/> <dbType type="DECIMAL"/> <dbType type="REAL"/> </talendType> <talendType type="id_Float"> <dbType type="FLOAT" default="true"/> <dbType type="DOUBLE"/> <dbType type="NUMERIC"/> <dbType type="DECIMAL"/> <dbType type="REAL"/> </talendType> <talendType type="id_Integer"> <dbType type="INTEGER" default="true"/> <dbType type="SMALLINT"/> <dbType type="TINYINT"/> <dbType type="COUNTER"/> </talendType> <talendType type="id_Long"> <dbType type="INTEGER" default="true"/> <dbType type="SMALLINT"/> <dbType type="TINYINT"/> <dbType type="COUNTER"/> </talendType> <talendType type="id_Object"> </talendType> <talendType type="id_Short"> <dbType type="SMALLINT" default="true"/> <dbType type="INTEGER"/> <dbType type="TINYINT"/> <dbType type="COUNTER"/> </talendType> <talendType type="id_String"> <dbType type="VARCHAR" default="true"/> <dbType type="MEMO"/> </talendType> </talendToDbTypes> <dbToTalendTypes> <dbType type="BIT"> <talendType type="id_Boolean" default="true"/> </dbType> <dbType type="BOOLEAN"> <talendType type="id_Boolean" default="true"/> </dbType> <dbType type="COUNTER"> <talendType type="id_Integer" default="true"/> </dbType> <dbType type="DATE"> <talendType type="id_Date" default="true"/> </dbType> <dbType type="DECIMAL"> <talendType type="id_Double"/> <talendType type="id_BigDecimal" default="true"/> <talendType type="id_Float"/> </dbType> <dbType type="DOUBLE"> <talendType type="id_Double" default="true"/> <talendType type="id_BigDecimal"/> <talendType type="id_Float"/> </dbType> <dbType type="FLOAT"> <talendType type="id_Float" default="true"/> <talendType type="id_BigDecimal"/> <talendType type="id_Double"/> </dbType> <dbType type="INTEGER"> <talendType type="id_Integer" default="true"/> <talendType type="id_Short"/> <talendType type="id_Long"/> <talendType type="id_Byte"/> </dbType> <dbType type="NUMERIC"> <talendType type="id_Float"/> <talendType type="id_BigDecimal" default="true"/> <talendType type="id_Double"/> </dbType> <dbType type="REAL"> <talendType type="id_Float" default="true"/> <talendType type="id_BigDecimal"/> <talendType type="id_Double"/> </dbType> <dbType type="SMALLINT"> <talendType type="id_Short" default="true"/> <talendType type="id_Integer"/> <talendType type="id_Long"/> <talendType type="id_Byte"/> </dbType> <dbType type="TINYINT"> <talendType type="id_Byte" default="true"/> <talendType type="id_Integer"/> <talendType type="id_Short"/> <talendType type="id_Long"/> </dbType> <dbType type="TIME"> <talendType type="id_Date" default="true"/> </dbType> <dbType type="TIMESTAMP"> <talendType type="id_Date" default="true"/> </dbType> <dbType type="VARCHAR"> <talendType type="id_String" default="true"/> </dbType> <dbType type="DATETIME"> <talendType type="id_Date" default="true"/> </dbType> <dbType type="MEMO"> <talendType type="id_String" default="true"/> </dbType> <dbType type="YESNO"> <talendType type="id_Boolean" default="true"/> </dbType> </dbToTalendTypes> </language> </dbms> </mapping>
- <dbTypes>エレメントとその子エレメントである<dbType>によって、サポートされるデータベースタイプが定義されます。マッピングファイルに新しいデータベースを追加するには、<dbTypes>エレメントの下に<dbType>エレメントを追加する必要があります。下の例では、BOOLEANとYESNOという2つのデータベースタイプを追加します。