PowerFX V1.0 移行説明書 - Microsoft(R) Windows(R) -
目次 索引 前ページ次ページ

第5章 Windows(R)での作業> 5.2 資産の移入と変換> 5.2.2 PowerRDBconnector環境の作成

5.2.2.3 PowerRDBconnector環境作成機能の結果リスト

crtcbinfコマンドを実行すると、結果リスト(result.txt)が-Oパラメーターで指定したフォルダに作成されます。ここでは、-BパラメーターにMSSQLを指定した場合の結果リストについて説明します。

結果リスト(result.txt)には、解析を行ったCOBOLソースプログラムと以下のファイルの関連付けが一覧表で作成されます。

結果リストの出力を以下に示します。

*1:crtcbinfコマンドの-Oパラメーターで指定したフォルダ配下に作成されます。

*2:結果リストは、crtcbinfコマンドの-Sパラメーターで指定した内容によって出力される情報が変わります。

■COBOL初期化ファイル

COBOL実行時に使用される基本的な環境変数と、COBOLに定義されているファイルをPowerRDBconnectorで使用する以下の形式で作成します。なお、COBOL初期化ファイルの詳細は、“PowerRDBconnector for NetCOBOL説明書”を参照してください。

[形式]

表5.6 COBOL初期化ファイルのファイル設定情報

プロパティ名

設定値と意味

ファイル識別名

定義されているファイル管理記述項(FILE-CONTROL)のASSIGN句に指定されているファイル識別名が設定されます。

TableName

定義されているファイル管理記述項(FILE-CONTROL)のSELECT句に指定されているファイル名が設定されます。

SchemaName

ファイル識別名に対するスキーマ名を指定する領域ですが、本コマンドでは、プロパティ名しか設定されません。

AccessMode

定義されているファイルのACCESS MODE句に指定されているモードが設定されます。

  • SEQUENTIAL:順呼び出し
  • RANDOM:乱呼び出し
  • DYNAMIC:動呼び出し

ファイル識別名定数

識別値“RDM”を設定する。

[出力例]

■PowerRDBconnector動作環境ファイル

PowerRDBconnectorで使用する動作環境ファイルは、以下の記述で作成されます。
以下に記述形式と出力例を示します。
なお、PowerRDBconnector動作環境ファイルの詳細については、“PowerRDBconnector for NetCOBOL説明書”を参照してください。

[記述形式](SQL Server用)

[記述形式](Oracle用)

crtcbinfコマンドでは、上記内容のほかに、各プロパティに関するコメントが出力されます。ただし、本書では、各プロパティに関するコメントは表記上省略します。

[出力例](-BパラメーターにMSSQL,-Dパラメーターにdbを指定した場合)

[出力例](-BパラメーターにORACLEを指定した場合)

■SQL表定義文

COBOLで定義されているファイルに対応するデータベース(テーブルまたはビュー)を作成するためのSQL表定義文が作成されます。
作成されるSQL表定義文は、定義されているファイル単位に“ファイル名.sql”と名前付けられます。
なお、SQL表定義文の詳細は、“PowerRDBconnector for NetCOBOL説明書”を参照してください。
定義されたファイル編成から作成されるSQL表定義文を以下に示します。

表5.7 ファイル編成と生成されるSQL表定義文の対応

ファイル編成

SQL表定義文

備考

レコード順ファイル
行順ファイル(注1)
相対ファイル(注1)
物理ファイル
論理ファイル

CREATE TABLE文

または

CREATE TABLE文、CREATE VIEW文

・キーなしのファイル編成の場合、テーブルのみを生成するSQL表定義文が作成されます。

・テーブルのみ作成する場合、テーブル列名は、表5.8で定めた列名にする必要があります。
-GパラメーターにVIEWを指定時、テーブルとビューが作成され、テーブル列名はCOBOLソースに定義されたデータ名と同一となります。

索引ファイル
物理ファイル
論理ファイル

CREATE TABLE文、CREATE (UNIQUE) INDEX文
または
CREATE TABLE文、CREATE VIEW文、CREATE (UNIQUE) INDEX文

・キー付きファイル編成の場合、テーブルとインデックスを生成するSQL表定義文が作成されます。

・テーブルのみ作成する場合、テーブル列名は、表5.8〜表5.9で定めた列名にする必要があります。
-GパラメーターにVIEWを指定時、テーブルとビューで作成され、テーブルの列名はCOBOLソースに定義されたデータ名と同一となります。

注1:crtcbinfコマンドでは作成されますが、PowerRDBconnectorでは未サポートです。

レコード記述項に定義されたデータ型から作成されるデータベースデータ定義文を以下の表に示します。なお、各項目はすべてNOT NULL属性となります。

表5.8 COBOLデータ定義と生成されるSQL Serverデータ定義の対応

COBOLデータ定義

SQL Server
データ型

列名

(上段:-A LONG指定なし、

下段:-A LONG指定あり)

USAGE句

符号

精度(p)

位取り(s)

DISPLAY
(外部10進)

なし

1〜18

0〜18

NUMERIC(p,s)

データ名_UNUM

データ名_UNSIGN_NUMERIC

あり

1〜18

0〜18

NUMERIC(p,s)

データ名_NUM

データ名_NUMERIC

PACKED-DECIMAL
COMP-3(注1)
(内部10進)

なし

1〜18

0〜18

DECIMAL(p,s)

データ名_UDEC

データ名_UNSIGN_DECIMAL

あり

1〜18

0〜18

DECIMAL(p,s)

データ名_DEC

データ名_DECIMAL

BINARY
COMPUTATIONAL
COMP
COMP-4(注1)
COMP-5(注1)
(2進)

なし

1〜4

SMALLINT

データ名_USINT

データ名_UNSIGN_SMALLINT

5〜9

INTEGER

データ名_UINT

データ名_UNSIGN_INTEGER

10〜18

BIGINT

データ名_UBINT

データ名_UNSIGN_BIGINT

あり

1〜4

SMALLINT

データ名_SINT

データ名_SMALLINT

5〜9

INTEGER

データ名_INT

データ名_INTEGER

10〜18

BIGINT

データ名_BINT

データ名_BIGINT

X(英数字)

P

NCHAR(p)

-Pパラメーター

でNCHAR指定時

データ名_CHR

データ名_CHAR

N(日本語)

P

CHAR(p×2)

-PパラメーターでCHAR指定時

データ名_NCHR

データ名_NCHAR

X(バイナリ)

P

CHAR(p) (注2)

データ名_CHR

データ名_CHAR

その他

P

CHAR(p)

データ名_CHR

データ名_CHAR

※データ名が無名項目の場合、データ名はFILLERとなります。レコード記述に無名項目が複数含まれる場合は、-Aパラメーターを指定してSQL表定義文の列名が一意になるようにしてください。

※ファイル名やデータ名にハイフン(-)が含まれている場合、アンダーバー(_)に置き換えられます。

※osqlコマンド実行用に、テーブル名や列名などのデータベースオブジェクト名に区切り記号である角括弧([ ])が付加されます。

※上記の表のUSAGE句に含まれないデータ項目は、その他のデータ型定義としてCHARにマッピングされるか、または列定義に含まれない可能性があります。

注1:PowerRDBconnector環境作成機能ではマッピングを行いますが、PowerRDBconnectorでは未サポートです。

注2:PowerRDBconnector環境作成機能ではCHAR型にマッピングします。バイナリデータを扱う場合は、BINARY型に定義しなおす必要があります。

表5.9 COBOLデータ定義と生成されるOracleデータ定義の対応

COBOLデータ定義

Oracle
データ型

列名

USAGE句

符号

精度(p)

位取り(s)

DISPLAY
(外部10進)

なし

1〜18

0〜18

NUMBER(p,0)

データ名_UNUM

データ名_UNSIGN_NUMERIC

あり

1〜18

0〜18

NUMBER(p,0)

データ名_NUM

データ名_NUMERIC

PACKED-DECIMAL
COMP-3(注1)
(内部10進)

なし

1〜18

0〜18

NUMBER(p,0)

データ名_UDEC

データ名_UNSIGN_DECIMAL

あり

1〜18

0〜18

NUMBER(p,0)

データ名_DEC

データ名_DECIMAL

BINARY
COMPUTATIONAL
COMP
COMP-4(注1)
COMP-5(注1)
(2進)

なし

1〜4

NUMBER(p,0)

データ名_USINT

データ名_UNSIGN_SMALLINT

5〜9

NUMBER(p,0)

データ名_UINT

データ名_UNSIGN_INTEGER

10〜18

NUMBER(p,0)

データ名_UBINT

データ名_UNSIGN_BIGINT

あり

1〜4

NUMBER(p,0)

データ名_SINT

データ名_SMALLINT

5〜9

NUMBER(p,0)

データ名_INT

データ名_INTEGER

10〜18

NUMBER(p,0)

データ名_BINT

データ名_BIGINT

X(英数字)

p

NCHAR(p)

-PパラメーターでNCHAR指定時

データ名_CHR

データ名_CHAR

N(日本語)

P

CHAR(p×2)

-PパラメーターでCHAR指定時

データ名_NCHR

データ名_NCHAR

X(バイナリ)

P

CHAR(p) (注2)

データ名_CHR

データ名_CHAR

その他

p

CHAR(p)

データ名_CHR

データ名_CHAR

※データ名が無名項目の場合、データ名はFILLERとなります。レコード記述に無名項目が複数含まれる場合は、-Aパラメーターを指定してSQL表定義文の列名が一意になるようにしてください。

※ファイル名やデータ名にハイフン(-)が含まれている場合、アンダーバー(_)に置き換えられます。

※sqlplusコマンド実行用に、テーブル名や列名などのデータベースオブジェクト名に区切り記号である二重引用符(“)が付加されます。

※上記の表のUSAGE句に含まれないデータ項目は、その他のデータ型定義としてCHARにマッピングされるか、または列定義に含まれない可能性があります。

注1:PowerRDBconnector環境作成機能ではマッピングを行いますが、PowerRDBconnectorでは未サポートです。

注2:PowerRDBconnector環境作成機能ではCHAR型にマッピングします。バイナリデータを扱う場合は、BINARY型に定義しなおす必要があります。

COBOLに定義されたレコード記述項のデータ定義から作成されるSQL表定義文について、ファイル定義とインデックス付きの出力例を以下に示します。

SQL表定義文の列名について以下に示します。

COPY句にJOINING指定が存在した場合、以下のように列名が生成されます。

表5.10 JOINING句の場合の列名

JOINING指定

JOINING AS PREFIX XX

JOINING AS SUFFIX YY

-A指定なし

XX_データ名

データ名_YY

-A 指定あり

CRT*_XX_データ名

CRT*_データ名_YY


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005