ページの先頭行へ戻る
LinkexpressTransactional Replication optionV5.0L72 説明書
FUJITSU Software

A.1.2 ジャーナル定義の対応表

抽出側システムのジャーナル定義と反映側システムの定義の対応について説明します。

コード変換によりデータ長が変化することがあります。詳細は"A.1.2.4 コード変換による項目長の変化について"を参照してください。
コード変換エラーまたはコード変換にともなう文字あふれが発生した場合の動作については、"A.1.2.5 コード変換エラーまたは文字あふれ時の動作"を参照してください。

A.1.2.1 抽出側システム(グローバルサーバ)がSymfoware/RDBの場合

反映側システムがSymfoware/RDBの場合
表A.2 ジャーナル定義の対応表(Symfoware/RDB⇒Symfoware/RDB)

抽出側システム

反映側システム

Symfoware/RDBの列属性

TJNLのジャーナル定義

INTABLE定義の入力データ属性

Symfoware/RDBの列属性

CHAR(n)

PIC X(n)

char(n)
※2

CHAR(n)

zone(n,m)

NUMERIC(n,m) ※3

VARCHAR(n)

PIC X(n+2)

vchar(n)
※2

VARCHAR(n)

NCHAR(n)

PIC X(n×2)

nchar2(n)
※2

NCHAR(n) ※1

NCHAR VARYING(n)

PIC X(n×2+2)

vnchar2(n)
※2

NCHAR VARYING(n)

NUMERIC(n,m)

PIC X(n)

zone(n,[m])

NUMERIC(n,m)

DECIMAL(n,m)

PIC X(n÷2+1)

pack(n,[m])

DECIMAL(n,m)

REAL

PIC X(4)

real

REAL

DOUBLE PRECISION

PIC X(8)

double

DOUBLE PRECISION

FLOAT(n)
n:1~21

PIC X(4)

real

FLOAT(n)
n:1~23

FLOAT(n)
n:22~53

PIC X(8)

double

FLOAT(n)
n:24~52

SMALLINT

PIC X(2)

sint

SMALLINT

INTEGER

PIC X(4)

int

INTEGER

BINARY(n)

PIC X(n+2)

blob(n)

BLOB(nK)

BINARY(nK)

PIC X(n×1024+2)

blob(nK)

TIMESTAMP(0)

PIC X(19)

datetime

TIMESTAMP

TIMESTAMP(6)

PIC X(26)

DATE

PIC X(10)

date

DATE

TIME

PIC X(8)

time

TIME

時間隔

INTERVAL YEAR(n) TO MONTH

PIC X(n+4)

interval year(n) to month

INTERVAL YEAR(n) TO MONTH

INTERVAL YEAR(n)

PIC X(n+1)

interval year(n)

INTERVAL YEAR(n)

INTERVAL MONTH(n)

PIC X(n+2)

interval month(n)

INTERVAL MONTH(n)

INTERVAL DAY(n) TO HOUR

PIC X(n+4)

interval day(n) to hour

INTERVAL DAY(n) TO HOUR

INTERVAL DAY(n) TO MINUTE

PIC X(n+7)

interval day(n) to minute

INTERVAL DAY(n) TO MINUTE

INTERVAL DAY(n) TO SECOND

PIC X(n+10)

interval day(n) to second

INTERVAL DAY(n) TO SECOND

INTERVAL DAY(n)

PIC X(n+1)

interval day(n)

INTERVAL DAY(n)

INTERVAL HOUR(n) TO MINUTE

PIC X(n+4)

interval hour(n) to minute

INTERVAL HOUR(n) TO MINUTE

INTERVAL HOUR(n) TO SECOND

PIC X(n+7)

interval hour(n) to second

INTERVAL HOUR(n) TO SECOND

INTERVAL HOUR(n)

PIC X(n+1)

interval hour(n)

INTERVAL HOUR(n)

INTERVAL MINUTE(n) TO SECOND

PIC X(n+4)

interval minute(n) to second

INTERVAL MINUTE(n) TO SECOND

INTERVAL MINUTE(n)

PIC X(n+1)

interval minute(n)

INTERVAL MINUTE(n)

INTERVAL SECOND(n)

PIC X(n+1)

interval second(n)

INTERVAL SECOND(n)

※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:固定長から可変長などの組み合わせも可能です。詳細は"A.1.2.3 文字列属性の組み合わせについて"を参照してください。
※3:入力データが数字の場合のみ可能です。

反映側システムがSymfoware/pgs、Enterprise PostgresまたはPostgreSQLの場合
表A.3 ジャーナル定義の対応表(Symfoware/RDB⇒Symfoware/pgs、Enterprise PostgresまたはPostgreSQL)

抽出側システム

反映側システム

Symfoware/RDBの列属性

TJNLのジャーナル定義

INTABLE定義の入力データ属性

Symfoware/pgsまたはEnterprise Postgresの列属性

PostgreSQLの列属性

CHAR(n)

PIC X(n)

char(n)
※2

char(n) ※6

text ※6

zone(n,m)

numeric(n,m)※3

VARCHAR(n)

PIC X(n+2)

vchar(n)
※2

varchar(n) ※6

text ※6

NCHAR(n)

PIC X(n×2)

nchar2(n)
※2

※1 ※6
char(n)※4
nchar(n)※5

※1 ※6
char(n)

text ※6

NCHAR VARYING(n)

PIC X(n×2+2)

vnchar2(n)
※2

※6

varchar(n)※4
nchar varying(n)※5

※6

varchar(n)

text ※6

NUMERIC(n,m)

PIC X(n)

zone(n,[m])

numeric(n,m)
decimal(n,m)

DECIMAL(n,m)

PIC X(n÷2+1)

pack(n,[m])

REAL

PIC X(4)

real

real
float(n)
n:1~24

DOUBLE PRECISION

PIC X(8)

double

double precision
float
float(n)
n:25~53

FLOAT(n)
n:1~21

PIC X(4)

real

real
float(n)
n:1~24

FLOAT(n)
n:22~53

PIC X(8)

double

double precision
float
float(n)
n:25~53

SMALLINT

PIC X(2)

sint

smallint

INTEGER

PIC X(4)

int

int

BINARY(n)

PIC X(n+2)

blob(n)

bytea
31KB以内

BINARY(nK)

PIC X(n×1024+2)

blob(nK)

TIMESTAMP(0)

PIC X(19)

datetime

timestamp

TIMESTAMP(6)

PIC X(26)

DATE

PIC X(10)

date

date

TIME

PIC X(8)

time

time

時間隔

INTERVAL YEAR(n) TO MONTH

PIC X(n+4)

interval year(n) to month

interval YEAR TO MONTH

INTERVAL YEAR(n)

PIC X(n+1)

interval year(n)

interval YEAR

INTERVAL MONTH(n)

PIC X(n+2)

interval month(n)

interval MONTH

INTERVAL DAY(n) TO HOUR

PIC X(n+4)

interval day(n) to hour

interval DAY TO HOUR

INTERVAL DAY(n) TO MINUTE

PIC X(n+7)

interval day(n) to minute

interval DAY TO MINUTE

INTERVAL DAY(n) TO SECOND

PIC X(n+10)

interval day(n) to second

interval DAY TO SECOND

INTERVAL DAY(n)

PIC X(n+1)

interval day(n)

interval DAY

INTERVAL HOUR(n) TO MINUTE

PIC X(n+4)

interval hour(n) to minute

interval HOUR TO MINUTE

INTERVAL HOUR(n) TO SECOND

PIC X(n+7)

interval hour(n) to second

interval HOUR TO SECOND

INTERVAL HOUR(n)

PIC X(n+1)

interval hour(n)

interval HOUR

INTERVAL MINUTE(n) TO SECOND

PIC X(n+4)

interval minute(n) to second

interval MINUTE TO SECOND

INTERVAL MINUTE(n)

PIC X(n+1)

interval minute(n)

interval MINUTE

INTERVAL SECOND(n)

PIC X(n+1)

interval second(n)

interval SECOND

※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:固定長から可変長などの組み合わせも可能です。詳細は"A.1.2.3 文字列属性の組み合わせについて"を参照してください。
※3:入力データが数字の場合のみ可能です。
※4:データベースの文字セットがUTF-8以外の場合
※5:データベースの文字セットがUTF-8の場合
※6:コード変換により、データ長が32767バイトを超過する可能性のある項目は、格納対象から除いてください。

反映側システムがOracleデータベースの場合
表A.4 ジャーナル定義の対応表(Symfoware/RDB⇒Oracleデータベース)

抽出側システム

反映側システム

Symfoware/RDBの列属性

TJNLのジャーナル定義

INTABLE定義の入力データ属性

Oracleデータベースの列属性

CHAR(n)

PIC X(n)

char(n)
※7

1~2000バイト
CHAR(n) ※1 ※5

1バイト以上
LONG ※1 ※4

zone(n,m)

NUMBER(n,m) ※8

VARCHAR(n)

PIC X(n+2)

vchar(n)
※7

1~4000バイト
VARCHAR2(n) ※2 ※5

1~31986バイト(Oracle12c以降)
VARCHAR2(n) ※2 ※5 ※9

1バイト以上
LONG ※2 ※4

NCHAR(n)

PIC X(n×2)

nchar2(n)
※7

1~1000文字
NCHAR(n) ※1 ※6

1文字以上
LONG ※1 ※4

NCHAR VARYING(n)

PIC X(n×2+2)

vnchar2(n)
※7

1~2000文字
NVARCHAR2(n) ※2 ※6

1~15993文字(Oracle12c以降)
NVARCHAR2(n) ※2 ※6 ※9

1文字以上
LONG ※2 ※4

NUMERIC(n,m)

PIC X(n)

zone(n,[m])

NUMBER(n,m)

DECIMAL(n,m)

PIC X(n÷2+1)

pack(n,[m])

REAL

PIC X(4)

real

NUMBER

DOUBLE PRECISION

PIC X(8)

double

FLOAT(n)
n:1~21

PIC X(4)

real

FLOAT(n)
n:22~53

PIC X(8)

double

SMALLINT

PIC X(2)

sint

NUMBER(5,0)

INTEGER

PIC X(4)

int

NUMBER(10,0)

BINARY(n)

PIC X(n+2)

blob(n)


未サポート


LONG RAW ※3

BINARY(nK)

PIC X(n×1024+2)

blob(nK)

TIMESTAMP(0)

PIC X(19)

datetime

DATE

TIMESTAMP(6)

PIC X(26)

DATE

PIC X(10)

date

TIME

PIC X(8)

time

※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:入力データがバイナリの0(0x00)の場合、以下の値を格納します。
      -  長さ部: INTABLE定義の入力データ属性に指定した文字数を格納します。
      -  データ部: 空白を格納します。
※3:入力データがバイナリの0(0x00)の場合、以下の値を格納します。
      -  長さ部: INTABLE定義の入力データ属性に指定した文字数を格納します。
      -  データ部: 空白を格納します。
※4:コード変換により、データ長が32767バイトを超過する可能性のある項目は、格納対象から除いてください。
※5:キャラクタ・セマンティクスの列への格納はサポートしていません。バイト・セマンティクスの列に格納してください。
※6:Oracleデータベースのキャラクタ・セットがAL32UTF8の場合、マルチバイト・キャラクタを含むデータへの格納では、上記表に示す文字数を格納できません。この場合、NCHAR型では最大2000バイト、NVARCHAR2型では最大4000バイト(※9に記載の拡張時は最大32767バイト)となります。
※7:固定長から可変長などの組み合わせも可能です。詳細は"A.1.2.3 文字列属性の組み合わせについて"を参照してください。
※8:入力データが数字の場合のみ可能です。
※9:Oracle12c以降では、MAX_STRING_SIZEパラメタの指定により、VARCHAR2データ型およびNVARCHAR2データ型の最大サイズを32767バイトに拡張することが可能です。詳細については、データベース製品のマニュアルを参照してください。

反映側システムがSQL Serverの場合
表A.5 ジャーナル定義の対応表(Symfoware/RDB⇒SQL Server)

抽出側システム

反映側システム

Symfoware/RDBの列属性

TJNLのジャーナル定義

INTABLE定義の入力データ属性

SQL Serverの列属性

CHAR(n)

PIC X(n)

char(n)
※2

1~8000バイト
char(n)

1バイト以上
text ※4

zone(n,m)

numeric(n,m) ※3

VARCHAR(n)

PIC X(n+2)

vchar(n)
※2

1~8000バイト
varchar(n)

1バイト以上
text ※4

NCHAR(n)

PIC X(n×2)

nchar2(n)
※2

1~4000文字
nchar(n) ※1

1文字以上
ntext ※1 ※4

NCHAR VARYING(n)

PIC X(n×2+2)

vnchar2(n)
※2

1~4000文字
nvarchar(n)

1文字以上
ntext ※1 ※4

NUMERIC(n,m)

PIC X(n)

zone(n,[m])

numeric(n,m)
decimal(n,m)

DECIMAL(n,m)

PIC X(n÷2+1)

pack(n,[m])

REAL

PIC X(4)

real

real

DOUBLE PRECISION

PIC X(8)

double

float
float(n)
n:25~53

FLOAT(n)
n:1~21

PIC X(4)

real

real

FLOAT(n)
n:22~53

PIC X(8)

double

float
float(n)
n:25~53

SMALLINT

PIC X(2)

sint

smallint

INTEGER

PIC X(4)

int

int

BINARY(n)

PIC X(n+2)

blob(n)

image

BINARY(nK)

PIC X(n×1024+2)

blob(nK)

TIMESTAMP(0)

PIC X(19)

datetime

smalldatetime
datetime

TIMESTAMP(6)

PIC X(26)

DATE

PIC X(10)

date

TIME

PIC X(8)

time

※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:固定長から可変長などの組み合わせも可能です。詳細は"A.1.2.3 文字列属性の組み合わせについて"を参照してください。
※3:入力データが数字の場合のみ可能です。
※4:コード変換により、データ長が32767バイトを超過する可能性のある項目は、格納対象から除いてください。

A.1.2.2 抽出側システム(グローバルサーバ)がネットワークデータベースおよびVSAMデータセットの場合

反映側システムがSymfoware/RDBの場合
表A.6 ジャーナル定義の対応表(ネットワークデータベースまたはVSAM⇒Symfoware/RDB)

抽出側システム

反映側システム

ネットワークデータベースおよびVSAMデータセットの列属性

TJNLのジャーナル定義

INTABLE定義の入力データ属性

Symfoware/RDBの列属性

英字

PIC A(n)

char(n)
※4

CHAR(n)

英数字

PIC X(n)

char(n)
※4

CHAR(n)

zone(n,m)

NUMERIC(n,m) ※5

各国語文字

PIC N(n)

nchar2(n)
※4

NCHAR(n)   ※1

外部10進数

PIC 9(n)
PIC S9(n)
※3

zone(n,[m])

NUMERIC(n,m) ※2

内部10進数

PIC 9(n)S
※3

pack(n,[m])

DECIMAL(n,m) ※2

外部浮動
小数点数

PIC S99ES99

char(n)
※4

CHAR(n)

内部浮動
小数点数

PIC S9(n) KS9(m)
(n<=6)

real

REAL

PIC S9(n) KS9(m)
(n>6)

double

DOUBLE PRECISION

外部2進数

PIC 1(n)

char(n)
※4

CHAR(n)

数字編集

PIC 99.99

char(n)
※4

CHAR(n)

※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:入力データがバイナリの0(0x00)の場合、当該項目の属性に合わせた数値0を格納します。
※3:小数点を表すピクチャ文字列に"P"を指定したデータ項目の逐次差分反映はサポートしておりません。
※4:固定長から可変長などの組み合わせも可能です。詳細は"A.1.2.3 文字列属性の組み合わせについて"を参照してください。
※5:入力データが数字の場合のみ可能です。

反映側システムがSymfoware/pgs、Enterprise PostgresまたはPostgreSQLの場合
表A.7 ジャーナル定義の対応表(ネットワークデータベースまたはVSAM⇒Symfoware/pgs、Enterprise PostgresまたはPostgreSQL)

抽出側システム

反映側システム

ネットワークデータベースおよびVSAMデータセットの列属性

TJNLのジャーナル定義

INTABLE定義の入力データ属性

Symfoware/pgsまたはEnterprise Postgresの列属性

PostgreSQLの列属性

英字

PIC A(n)

char(n)
※4

char(n) ※8

text ※8

英数字

PIC X(n)

char(n)
※4

char(n) ※8

text ※8

zone(n,m)

numeric(n,m) ※5

各国語文字

PIC N(n)

nchar2(n)
※4

※1 ※8
char(n)※6
nchar(n)※7

※1 ※8
char(n)

text ※8

外部10進数

PIC 9(n)
PIC S9(n)
※3

zone(n,[m])

※2
numeric(n,m)
decimal(n,m)

内部10進数

PIC 9(n)S
※3

pack(n,[m])

外部浮動
小数点数

PIC S99ES99

char(n)
※4

char(n)

内部浮動
小数点数

PIC S9(n) KS9(m)
(n<=6)

real

real
float(n)
n:1~24

PIC S9(n) KS9(m)
(n>6)

double

double precision
float
float(n)
n:25~53

外部2進数

PIC 1(n)

char(n)
※4

char(n)

数字編集

PIC 99.99

char(n)
※4

char(n)

※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:入力データがバイナリの0(0x00)の場合、当該項目の属性に合わせた数値0を格納します。
※3:小数点を表すピクチャ文字列に"P"を指定したデータ項目の逐次差分反映はサポートしておりません。
※4:固定長から可変長などの組み合わせも可能です。詳細は"A.1.2.3 文字列属性の組み合わせについて"を参照してください。
※5:入力データが数字の場合のみ可能です。
※6:データベースの文字セットがUTF-8以外の場合
※7:データベースの文字セットがUTF-8の場合
※8:コード変換により、データ長が32767バイトを超過する可能性のある項目は、格納対象から除いてください。

反映側システムがOracleデータベースの場合
表A.8 ジャーナル定義の対応表(ネットワークデータベースまたはVSAM⇒Oracleデータベース)

抽出側システム

反映側システム

ネットワークデータベースおよびVSAMデータセットの列属性

TJNLのジャーナル定義

INTABLE定義の入力データ属性

Oracleデータベースの列属性

英字

PIC A(n)

char(n)
※7

1~2000バイト
CHAR(n) ※1 ※5

1バイト以上
LONG ※1 ※3

英数字

PIC X(n)

char(n)
※7

1~2000バイト
CHAR(n) ※1 ※5

1バイト以上
LONG ※1 ※3

zone(n,m)

NUMBER(n,m) ※8

各国語文字

PIC N(n)

nchar2(n)
※7

1~1000文字
NCHAR(n) ※1 ※6

1文字以上
LONG ※1 ※3

外部10進数

PIC 9(n)
PIC S9(n)
※4

zone(n,[m])

NUMBER(n,m) ※2

内部10進数

PIC 9(n)S
※4

pack(n,[m])

外部浮動
小数点数

PIC S99ES99

char(n)
※7

CHAR(n) ※1 ※5

内部浮動
小数点数

PIC S9(n) KS9(m)
(n<=6)

real

NUMBER

PIC S9(n) KS9(m)
(n>6)

double

外部2進数

PIC 1(n)

char(n)
※7

CHAR(n) ※1 ※5

数字編集

PIC 99.99

char(n)
※7

CHAR(n) ※1 ※5

※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:入力データがバイナリの0(0x00)の場合、当該項目の属性に合わせた数値0を格納します。
※3:コード変換により、データ長が32767バイトを超過する可能性のある項目は、格納対象から除いてください。
※4:小数点を表すピクチャ文字列に"P"を指定したデータ項目の逐次差分反映はサポートしておりません。
※5:キャラクタ・セマンティクスの列への格納はサポートしていません。バイト・セマンティクスの列に格納してください。
※6:Oracleデータベースのキャラクタ・セットがAL32UTF8の場合、マルチバイト・キャラクタを含むデータへの格納では、上記表に示す文字数を格納できません。この場合、NCHAR型では最大2000バイトとなります。
※7:固定長から可変長などの組み合わせも可能です。詳細は"A.1.2.3 文字列属性の組み合わせについて"を参照してください。
※8:入力データが数字の場合のみ可能です。

反映側システムがSQL Serverの場合
表A.9 ジャーナル定義の対応表(ネットワークデータベースまたはVSAM⇒SQL Server)

抽出側システム

反映側システム

ネットワークデータベースおよびVSAMデータセットの列属性

TJNLのジャーナル定義

INTABLE定義の入力データ属性

SQL Serverの列属性

英字

PIC A(n)

char(n)
※4

1~8000バイト
char(n)

1バイト以上
text ※6

英数字

PIC X(n)

char(n)
※4

1~8000バイト
char(n)

1バイト以上
text ※6

zone(n,m)

numeric(n,m) ※5

各国語文字

PIC N(n)

nchar2(n)
※4

1~4000文字
nchar(n) ※1

1文字以上
ntext ※1 ※6

外部10進数

PIC 9(n)
PIC S9(n)
※3

zone(n,[m])

※2
numeric(n,m)
decimal(n,m)

内部10進数

PIC 9(n)S
※3

pack(n,[m])

外部浮動
小数点数

PIC S99ES99

char(n)
※4

char(n)

内部浮動
小数点数

PIC S9(n) KS9(m)
(n<=6)

real

real

PIC S9(n) KS9(m)
(n>6)

double

float
float(n)
n:25~53

外部2進数

PIC 1(n)

char(n)
※4

char(n)

数字編集

PIC 99.99

char(n)
※4

char(n)

※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:入力データがバイナリの0(0x00)の場合、当該項目の属性に合わせた数値0を格納します。
※3:小数点を表すピクチャ文字列に"P"を指定したデータ項目の逐次差分反映はサポートしておりません。
※4:固定長から可変長などの組み合わせも可能です。詳細は"A.1.2.3 文字列属性の組み合わせについて"を参照してください。
※5:入力データが数字の場合のみ可能です。
※6:コード変換により、データ長が32767バイトを超過する可能性のある項目は、格納対象から除いてください。

A.1.2.3 文字列属性の組み合わせについて

INTABLE定義のデータ属性が文字列属性の場合、以下の組み合わせも可能です。

Symfoware/RDBの場合

Symfoware/RDBの場合、以下の組み合わせも可能です。

表A.10 文字列属性の組み合わせ(Symfoware/RDB)

INTABLE定義のデータ属性

データベース側の列属性

char(n)

VARCHAR(n)

NCHAR(n÷2)
小数点以下切り上げ

NCHAR VARYING(n÷2)
小数点以下切り上げ

vchar(n)

CHAR(n)

NCHAR(n÷2)
小数点以下切り上げ

NCHAR VARYING(n÷2)
小数点以下切り上げ

nchar2(n)

CHAR(n×マルチバイト1文字の最大バイト数)

VARCHAR(n×マルチバイト1文字の最大バイト数)

NCHAR VARYING(n)

vnchar2(n)

CHAR(n×マルチバイト1文字の最大バイト数)

VARCHAR(n×マルチバイト1文字の最大バイト数)

NCHAR(n)

Symfoware/pgs、Enterprise PostgresまたはPostgreSQLの場合

Symfoware/pgs、Enterprise PostgresまたはPostgreSQLの場合、以下の組み合わせも可能です。

表A.11 文字列属性の組み合わせ(Symfoware/pgs、Enterprise PostgresまたはPostgreSQL)

INTABLE定義のデータ属性

データベース側の列属性

char(n)

varchar(n)

nchar(n) ※1

nchar varying(n) ※1

vchar(n)

char(n)

nchar(n) ※1

nchar varying(n) ※1

nchar2(n)

char(n)

varchar(n)

nchar varying(n) ※1

vnchar2(n)

char(n)

varchar(n)

nchar(n) ※1

※1:Symfoware/pgsまたはEnterprise Postgresでデータベースの文字セットがUTF-8の場合

Oracleデータベースの場合

Oracleデータベースの場合、以下の組み合わせも可能です。

表A.12 文字列属性の組み合わせ(Oracleデータベース)

INTABLE定義のデータ属性

データベース側の列属性

char(n)

1~4000バイト
VARCHAR2(n) ※2 ※3

1~31986バイト(Oracle12c以降)
VARCHAR2(n) ※2 ※3 ※5

1~2000バイト
NCHAR(n) ※1

1~4000バイト
NVARCHAR2(n) ※2

1~31986バイト(Oracle12c以降)
NVARCHAR2(n) ※2 ※5

vchar(n)

1~2000バイト
CHAR(n) ※1 ※3

1~2000バイト
NCHAR(n) ※1

1~4000バイト
NVARCHAR2(n) ※2

1~31986バイト(Oracle12c以降)
NVARCHAR2(n) ※2 ※5

nchar2(n)

1~1000文字
CHAR(n×マルチバイト1文字の最大バイト数) ※1 ※3 ※4

1~2000文字
VARCHAR2(n×マルチバイト1文字の最大バイト数) ※2 ※3 ※4

1~15994文字(Oracle12c以降)
VARCHAR2(n×マルチバイト1文字の最大バイト数) ※2 ※3 ※4 ※5

1~2000文字
NVARCHAR2(n) ※2

1~15994文字(Oracle12c以降)
NVARCHAR2(n) ※2 ※5

vnchar2(n)

1~1000文字
CHAR(n×マルチバイト1文字の最大バイト数) ※1 ※3 ※4

1~2000文字
VARCHAR2(n×マルチバイト1文字の最大バイト数) ※2 ※3 ※4

1~15993文字(Oracle12c以降)
VARCHAR2(n×マルチバイト1文字の最大バイト数) ※2 ※3 ※4 ※5

1~1000文字
NCHAR(n) ※1 ※4

※1:入力データがバイナリの0(0x00)の場合、空白を格納します。
※2:入力データがバイナリの0(0x00)の場合、当該項目の属性に合わせた数値0を格納します。
※3:キャラクタ・セマンティクスの列への格納はサポートしていません。バイト・セマンティクスの列に格納してください。
※4:Oracleデータベースのキャラクタ・セットがAL32UTF8の場合、マルチバイト・キャラクタを含むデータへの格納では、上記表に示す文字数を格納できません。この場合、CHAR型/NCHAR型では最大2000バイト、VARCHAR2型/NVARCHAR2型では最大4000バイトとなります。
※5:Oracle12c以降では、MAX_STRING_SIZEパラメタの指定により、VARCHAR2データ型およびNVARCHAR2データ型の最大サイズを32767バイトに拡張することが可能です。詳細については、データベース製品のマニュアルを参照してください。

SQL Serverの場合

SQL Serverの場合、以下の組み合わせも可能です。

表A.13 文字列属性の組み合わせ(SQL Server)

INTABLE定義のデータ属性

データベース側の列属性

char(n)

1~8000バイト
varchar(n)

vchar(n)

1~8000バイト
char(n)

nchar2(n)

1~4000文字
char(n×2)

1~4000文字
varchar(n×2)

1~4000文字
nvarchar(n)

1バイト以上
text

vnchar2(n)

1~4000文字
char(n×2)

1~4000文字
varchar(n×2)

1~4000文字
nchar(n)

1バイト以上
text

A.1.2.4 コード変換による項目長の変化について

入力データとコード系(STOREGROUP定義文)の組み合わせによっては格納時の項目のデータが長くなる可能性があります。その場合、格納側の列属性に指定する長さを考慮する必要があります。

以下に例を示します。(抽出側システムがSymfoware/RDBの場合)

なお、上記は固定長文字列について示していますが、可変長文字列についても同様です。
格納先の列の長さが不足している場合は文字あふれとなります。文字あふれが発生した場合の動作については、"A.1.2.5 コード変換エラーまたは文字あふれ時の動作"を参照してください。

A.1.2.5 コード変換エラーまたは文字あふれ時の動作

コード変換エラーおよび文字あふれ時の動作は、DB動作環境定義で指定できます。

コード変換エラー時の動作

CHARACTER_CONVERT_ERRORキーワードにより指定できます。

  • EXIT:エラーメッセージを出力し、逐次差分反映を終了します。(省略時)

  • CONTINUE:代替文字を設定し、逐次差分反映処理を継続します。

代替文字については、ALTERNATE_CHARACTER1キーワード(Unicode以外の場合)またはUNICODE_ALTERNATE_CHARACTER1キーワード(Unicodeの場合)により指定できます。
省略時は"_"または"_"(1バイトまたは2バイト系のアンダースコア)となります。

文字あふれ時の動作

コード変換後の文字の途中で列の長さに達した場合は、文字あふれとなります。
文字あふれ時の動作はCHARACTER_OVERFLOWキーワードにより指定できます。

  • EXIT:エラーメッセージを出力し、逐次差分反映を終了します。(省略時)

  • CONTINUE:代替文字を設定し、逐次差分反映処理を継続します。

代替文字は、ALTERNATE_CHARACTER2キーワード(Unicode以外の場合)またはUNICODE_ALTERNATE_CHARACTER2キーワード(Unicodeの場合)で指定できます。
省略時は、1バイト系は"_"(アンダースコア)、2バイト系は"φ"(ファイ)となります。

ALTERNATE_CHARACTER1キーワード、UNICODE_ALTERNATE_CHARACTER1キーワードおよびALTERNATE_CHARACTER2キーワードの詳細については、Linkexpressのマニュアルを参照してください。