エクスポートしたレコードの形式は、ユーザログテーブルの論理定義に合わせて出力されます。
◆ユーザログレコードの形式
列と列の間には、区切り文字としてカンマ(,)が出力されます。また、1行分のデータの終了には改行記号が出力されます。
各項目は、文字データと数値データがあります。文字データは、囲み文字として二重引用符(")を付加して出力されます。数値データは、文字列がそのまま出力されます。
各項目の形式は、“■出力ファイルのデータ形式”を参照してください。
CONTEXT_ID、ユーザログ本文、分割キーおよび任意列は、可変長形式の属性を指定し、かつ-oオプションが指定されている場合には有効データ長で出力されます。
各項目の形式は、“■出力ファイルのデータ形式”を参照してください。
◆トランザクション情報レコードの形式
任意列、ユーザログ本文は、NULL値(カンマのみ)となります。分割キーは分割キー値が設定されますが、DSI分割の方法が範囲指定または複数指定の場合は、分割キー値の範囲内の任意の値が設定されます。
列と列の間には、区切り文字としてカンマ(,)が出力されます。また、1行分のデータの終了には改行記号が出力されます。
各項目は、文字データと数値データがあります。文字データは、囲み文字として二重引用符(")を付加して出力されます。数値データは、数値定数の文字列がそのまま出力されます。
各項目の形式は、“■出力ファイルのデータ形式”を参照してください。
任意列、ユーザログ本文は、NULL値となります。分割キーは分割キー値が設定されますが、DSI分割の方法が範囲指定または複数指定の場合は、分割キー値の範囲内の任意の値が設定されます。
CONTEXT_ID、ユーザログ本文、分割キーおよび任意列は、可変長形式の属性を指定し、かつ-oオプションを指定した場合は有効データ長で出力されます。
各項目の形式は、“■出力ファイルのデータ形式”を参照してください。
注1) 値はNULLのため、内容は不定となります。詳細は、“■出力ファイルのデータ形式”を参照してください。
◆制御情報レコードの形式
TRANSACTION_ID、CONTEXT_ID、任意列、ユーザログ本文は、NULL値となります。分割キーは分割キー値が設定されますが、DSI分割の方法が範囲指定または複数指定の場合は、分割キー値の範囲内の任意の値が設定されます。
列と列の間には、区切り文字としてカンマ(,)が出力されます。また、1行分のデータの終了には改行記号が出力されます。
各項目は、文字データと数値データがあります。文字データは、囲み文字として二重引用符(")を付加して出力されます。数値データは、数値定数の文字列がそのまま出力されます。
各項目の形式は、“■出力ファイルのデータ形式”を参照してください。
TRANSACTION_ID、CONTEXT_ID、任意列、ユーザログ本文は、NULL値となります。分割キーは分割キー値が設定されますが、DSI分割の方法が範囲指定または複数指定の場合は、分割キー値の範囲内の任意の値が設定されます。
CONTEXT_ID、ユーザログ本文、分割キーおよび任意列は、可変長形式の属性を指定し、かつ-oオプションを指定した場合は有効データ長で出力されます。
各項目の形式は、“■出力ファイルのデータ形式”を参照してください。
注1) 値はNULLのため、内容は不定となります。詳細は、“■出力ファイルのデータ形式”を参照してください。
■出力ファイルのデータ形式
出力ファイルは、1レコードが表の1行分のデータを構成するテキスト形式またはバイナリ形式で作成したファイルです。出力ファイルの文字コード系は、以下のとおりです。
テキスト形式の場合
データベースの文字コード系と異なるコード系で出力ファイルを作成することができます。出力ファイルの文字コード系と処理対象のデータベースの文字コード系が異なる場合、コード変換が行われます。コード変換により変換先に該当する文字コードが存在しない場合は、コード変換エラーとなります。
詳細は、“6.3.2 出力ファイルの文字コード系の考慮”を参照してください。
バイナリ形式の場合
処理対象のデータベースの文字コード系になります。
◆バイナリ形式
バイナリ形式について説明します。列のデータ型とデータファイルのデータ形式の対応については“列のデータ型とデータファイルのデータ形式”を参照してください。
出力ファイルのすべてのレコードについて、列のデータの前に2バイトのNULL指示部が出力されます。NULL指示部は、その列のデータ値がNULLであるかどうかを示します。
NULL指示部の値は以下のとおりです。
0000(16進数): データがNULL値でない場合
FFFF(16進数): データがNULL値の場合
列のデータ型が可変長文字列型の場合は、データの文字数を示す2バイトの長さ表示域が列のデータの直前に出力されます。
備考1. データ形式で使用している記号は、以下を表します。
記号 | 説明 |
---|---|
λ | 可変長文字列の有効なデータ長(バイト数)を表します。 |
3 | 16進数(10進数で3)です。 |
j | データに対応する数値(16進数の0~9)を表します。 |
g | 符号(正:16進数のA,C,E,F 負:16進数のB,D)を表します。 |
ss | 符号(正:16進数の2B 負:16進数の2D)を表します。 |
Y | 2バイトの二進数で西暦の年を表します。 |
M | 1バイトの二進数で月を表します。 |
D | 1バイトの二進数で日を表します。 |
h | 1バイトの二進数で時を表します。 |
m | 1バイトの二進数で分を表します。 |
s | 1バイトの二進数で秒を表します。 |
R | 16進数で00000000となります。 |
備考2. 指定例欄の枠内の文字は、各国語を除き、すべて16進数です。
備考3. 太枠部分は、符号けたまたはデータ長けたを表します。
備考4. データファイルの文字コード系は、データベースの文字コード系と一致している必要があります。
図6.1 INTERVALのデータ形式
備考5. データ形式で使用している記号は、以下を表します。
記号 | 説明 |
---|---|
n | 1~9(省略値:2) |
b | データ型に指定されたn(時間隔先行フィールドの桁数)により、以下のように決定されます。 |
n | b |
---|---|
1~2 | 2byte |
3~4 | 3byte |
5~9 | 5byte |
記号 | 説明 |
---|---|
S | 正または負の符号をそれぞれ文字の“+”または“-”のいずれかで表します。 |
Y | 年をその格納サイズの二進数で表します。 |
M | 月をその格納サイズの二進数で表します。 |
D | 日をその格納サイズの二進数で表します。 |
h | 時間をその格納サイズの二進数で表します。 |
m | 分をその格納サイズの二進数で表します。 |
s | 秒をその格納サイズの二進数で表します。 |
◆テキスト形式
1行分のデータは、列に対応するデータ項目の集まりで構成されます。1つの列のデータ型に対応する各データ項目の間は、カンマ(,)で区切ります。データ項目には、文字データと数値データがあります。文字データは、二重引用符(")で文字列を囲み、数値データは数値定数の文字列をそのまま指定します。また、1行分のデータの終了は、改行記号を指定します。なお、改行記号は1行のデータ項目中に含めることはできません。出力ファイルは、CSV形式に対応しています。
列のデータ型と出力ファイルのデータ形式の対応を以下に示します。
列のデータ型 | 形式 |
---|---|
SMALLINT | -32768~32767(小数点なし) |
INTEGER | -2147483648~2147483647(小数点なし) |
NUMERIC(p,q) | 整数部(小数点の左側)の数字の数はp-q以下 |
DECIMAL(p,q) | |
CHARACTER(n) |
このオプションを省略した場合は、データベースの文字コード系と同じコード系となります。 |
NATIONAL CHARACTER(n) | |
CHARACTER VARYING(n) | |
NATIONAL CHARACTER VARYING (n) | |
TIMESTAMP | "YYYY-MM-DD hh:mm:ss" |
BINARY LARGE OBJECT(n) | テキスト形式では指定できません。 |
DATE | "YYYY-MM-DD" |
TIME | "hh:mm:ss" |
INTERVAL | 詳細は“表6.2 INTERVALのデータ形式”を参照してください。 |
列のデータ型 | 形式 |
---|---|
INTERVAL YEAR [(n)] TO MONTH | "[+/-]Y...Y-MM" |
INTERVAL DAY [(n)] TO HOUR | "[+/-]D...D hh" |
INTERVAL HOUR [(n)] TO MINUTE | "[+/-]h...h:mm" |
INTERVAL MINUTE [(n)] TO SECOND | "[+/-]m...m:ss" |
INTERVAL SECOND [(n)] | "[+/-]s...s" |
Y:年をその格納サイズの二進数で表します。
M:月をその格納サイズの二進数で表します。
D:日をその格納サイズの二進数で表します。
h:時間をその格納サイズの二進数で表します。
m:分をその格納サイズの二進数で表します。
s:秒をその格納サイズの二進数で表します。
“...”はn:時間隔先行フィールドに指定された行数の繰り返しを示します。
◆NULL値
データ項目がNULL値の場合は、文字データの場合でも数値データの場合でも、区切り文字の間に何も指定しない形で出力します。
また、データ項目が1行の最後の列である場合は、直前のデータ項目との区切り文字を指定したあとに、改行記号を続けて出力します。
対応する表定義の列にNOT NULLが指定されている場合には、NULL値のデータ項目は指定できません。
例1
文字データがNULL値の場合(データ項目の途中にある場合)
例2
文字データがNULL値の場合(データ項目の最後にある場合)