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

[目次][索引][前へ][次へ]

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
× × ×
DATE4 × × ※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
× × × × ×
DATE4 ※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の文字数である必要があります。