Hitachi

データベース抽出・反映サービス機能 HiRDB Dataextractor Version 10


3.2.3 抽出したデータのデータ型変換

データを反映するときに変換できるデータ型について説明します。

HiRDB Dataextractorで変換できるデータ型を,「表3-10 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(1/2)」,「表3-11 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(2/2)」に示します。

データを反映するとき,HiRDB Dataextractorは抽出対象の列と反映対象の列とを比較し,「表3-10 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(1/2)」,「表3-11 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(2/2)」に示すデータ型の組み合わせであればデータ型を変換します。

また抽出する行を選択する場合,表式記述ファイルの条件の指定が「表3-10 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(1/2)」,「表3-11 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(2/2)」に示すデータ型の組み合わせであれば,HiRDB Dataextractorは指定されたデータを比較します。

表3‒10 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(1/2)

抽出側のデータ型(ORACLE内部データ型)

反映側(HiRDB)のデータ型

数データ※8

INT,SMALLINT,DECIMAL,FLOAT,SMALLFLT

文字データ,混在文字データ※5 ※7

CHAR,VARCHAR,MCHAR,MVARCHAR

各国文字データ※6 ※7

NCHAR,NVARCHAR

日付データ

DATE

時刻データ

TIME

NUMBER

×

×

×

CHAR

VARCHAR2

※1

※11

×

×

NCHAR

NVARCHAR2

×

×

×

DATE※4

×

×

※2

※3

LONG

×

×

×

×

×

LONG RAW

×

×

×

×

×

RAW

×

×

×

×

×

BLOB

CLOB

NCLOB

BFILE

×

×

×

×

×

表3‒11 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(2/2)

抽出側のデータ型(ORACLE内部データ型)

反映側(HiRDB)のデータ型

日間隔データ

YEAR

時間隔データ

HOUR

時刻印データ

TIMESTAMP

長大データ※9

BLOB,BINARY

抽象データ型

SGMLTEXT,XML,FREEWORD

NUMBER

×

×

×

×

×

CHAR

VARCHAR2

×

×

×

×

×

NCHAR

NVARCHAR2

×

×

×

×

×

DATE※4

※2

※3

※10

×

×

LONG

×

×

×

×

LONG RAW

×

×

×

×

RAW

×

×

×

×

BLOB

CLOB

NCLOB

BFILE

×

×

×

×

(凡例)

○:変換できます。

×:変換できません。

注※1

文字属性を数データに変換する場合,文字属性のデータは1バイトコードの数値文字列である必要があります。

注※2

日付情報だけを取り出します。また,日付情報が紀元前の場合はエラーとし処理を中止します。

注※3

時刻情報だけを取り出します。

注※4

一つのDATE属性列を反映側の日付データと時刻データの2列に変換したい場合は,DATE属性列を2列分抽出する必要があります。

注※5

この組み合わせで実行する場合の注意を次に示します。

  • 抽出側のデータ長<反映側のデータ長の場合,1バイトの空白を設定します。

  • 抽出側のデータ内容を,そのまま反映側に格納します。

注※6

この組み合わせで実行する場合の注意を次に示します。

  • 抽出側のデータ長≦2×反映側の文字数である必要があります。

  • 抽出側のデータ長<反映側のデータ長の場合,2バイトの空白を設定します。

  • 抽出側のデータ長が奇数バイトの場合,1バイトの空白を付加して偶数バイトに調整します。

注※7

次の場合は,データの切り捨てが発生するため注意してください。

ただし,環境変数XTERRLEVELに0以外を指定した場合は,指定に従って処理されます。

  • 文字データ,混在文字データ,各国文字データの場合

    抽出側のデータ長>反映側のデータ長

注※8

次の場合は,データの切り捨てが発生するため注意してください。

  • DECの場合

    抽出側の整数部のけた数>反映側の整数部のけた数

注※9

次の場合は,データの変換はできません。

ただし,環境変数XTLOBBUFSIZEが指定された場合は,環境変数XTERRLEVELの指定に従って処理されます。

抽出側のデータ長>反映側のデータ長

注※10

日付情報が紀元前の場合はエラーとなります。反映側に小数秒が定義されているとき(TIMESTAMP(0)以外),余った後ろに0x00を埋めます。

注※11

反映側が文字データの場合,環境変数XTORANCSETにutf-16を指定して文字集合列を抽出・反映するときの注意を次に示します。

  • 2×抽出側NCHARの文字数=反映側CHARの文字数である必要があります。

  • 2×抽出側NVARCHARの文字数=反映側VARCHARの文字数である必要があります。