PowerFX V1.0 移行説明書 - Microsoft(R) Windows(R) - |
目次
索引
![]() ![]() |
第5章 Windows(R)での作業 | > 5.2 資産の移入と変換 | > 5.2.2 PowerRDBconnector環境の作成 |
crtcbinfコマンドを実行すると、結果リスト(result.txt)が-Oパラメーターで指定したフォルダに作成されます。ここでは、-BパラメーターにMSSQLを指定した場合の結果リストについて説明します。
結果リスト(result.txt)には、解析を行ったCOBOLソースプログラムと以下のファイルの関連付けが一覧表で作成されます。
結果リストの出力例を以下に示します。
*1:crtcbinfコマンドの-Oパラメーターで指定したフォルダ配下に作成されます。
*2:結果リストは、crtcbinfコマンドの-Sパラメーターで指定した内容によって出力される情報が変わります。
COBOL実行時に使用される基本的な環境変数と、COBOLに定義されているファイルをPowerRDBconnectorで使用する以下の形式で作成します。なお、COBOL初期化ファイルの詳細は、“PowerRDBconnector for NetCOBOL説明書”を参照してください。
プロパティ名 |
設定値と意味 |
---|---|
ファイル識別名 |
定義されているファイル管理記述項(FILE-CONTROL)のASSIGN句に指定されているファイル識別名が設定されます。 |
TableName |
定義されているファイル管理記述項(FILE-CONTROL)のSELECT句に指定されているファイル名が設定されます。 |
SchemaName |
ファイル識別名に対するスキーマ名を指定する領域ですが、本コマンドでは、プロパティ名しか設定されません。 |
AccessMode |
定義されているファイルのACCESS MODE句に指定されているモードが設定されます。
|
ファイル識別名定数 |
識別値“RDM”を設定する。 |
PowerRDBconnectorで使用する動作環境ファイルは、以下の記述で作成されます。
以下に記述形式と出力例を示します。
なお、PowerRDBconnector動作環境ファイルの詳細については、“PowerRDBconnector for NetCOBOL説明書”を参照してください。
crtcbinfコマンドでは、上記内容のほかに、各プロパティに関するコメントが出力されます。ただし、本書では、各プロパティに関するコメントは表記上省略します。
COBOLで定義されているファイルに対応するデータベース(テーブルまたはビュー)を作成するためのSQL表定義文が作成されます。
作成されるSQL表定義文は、定義されているファイル単位に“ファイル名.sql”と名前付けられます。
なお、SQL表定義文の詳細は、“PowerRDBconnector for NetCOBOL説明書”を参照してください。
定義されたファイル編成から作成されるSQL表定義文を以下に示します。
ファイル編成 |
SQL表定義文 |
備考 |
---|---|---|
レコード順ファイル |
CREATE TABLE文 または CREATE TABLE文、CREATE VIEW文 |
・キーなしのファイル編成の場合、テーブルのみを生成するSQL表定義文が作成されます。 ・テーブルのみ作成する場合、テーブル列名は、表5.8で定めた列名にする必要があります。 |
索引ファイル |
CREATE TABLE文、CREATE (UNIQUE) INDEX文 |
・キー付きファイル編成の場合、テーブルとインデックスを生成するSQL表定義文が作成されます。 ・テーブルのみ作成する場合、テーブル列名は、表5.8〜表5.9で定めた列名にする必要があります。 |
注1:crtcbinfコマンドでは作成されますが、PowerRDBconnectorでは未サポートです。
レコード記述項に定義されたデータ型から作成されるデータベースデータ定義文を以下の表に示します。なお、各項目はすべてNOT NULL属性となります。
COBOLデータ定義 |
SQL Server |
列名 (上段:-A LONG指定なし、 下段:-A LONG指定あり) |
|||
---|---|---|---|---|---|
USAGE句 |
符号 |
精度(p) |
位取り(s) |
||
DISPLAY |
なし |
1〜18 |
0〜18 |
NUMERIC(p,s) |
データ名_UNUM データ名_UNSIGN_NUMERIC |
あり |
1〜18 |
0〜18 |
NUMERIC(p,s) |
データ名_NUM データ名_NUMERIC |
|
PACKED-DECIMAL |
なし |
1〜18 |
0〜18 |
DECIMAL(p,s) |
データ名_UDEC データ名_UNSIGN_DECIMAL |
あり |
1〜18 |
0〜18 |
DECIMAL(p,s) |
データ名_DEC データ名_DECIMAL |
|
BINARY |
なし |
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型に定義しなおす必要があります。
COBOLデータ定義 |
Oracle |
列名 |
|||
---|---|---|---|---|---|
USAGE句 |
符号 |
精度(p) |
位取り(s) |
||
DISPLAY |
なし |
1〜18 |
0〜18 |
データ名_UNUM データ名_UNSIGN_NUMERIC |
|
あり |
1〜18 |
0〜18 |
NUMBER(p,0) |
データ名_NUM データ名_NUMERIC |
|
PACKED-DECIMAL |
なし |
1〜18 |
0〜18 |
NUMBER(p,0) |
データ名_UDEC データ名_UNSIGN_DECIMAL |
あり |
1〜18 |
0〜18 |
NUMBER(p,0) |
データ名_DEC データ名_DECIMAL |
|
BINARY |
なし |
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指定が存在した場合、以下のように列名が生成されます。
JOINING指定 |
JOINING AS PREFIX XX |
JOINING AS SUFFIX YY |
---|---|---|
-A指定なし |
XX_データ名 |
データ名_YY |
-A 指定あり |
CRT*_XX_データ名 |
CRT*_データ名_YY |
SQL表定義文の列名が一意になる場合
SQL表定義文の列名が一意にならない場合
目次
索引
![]() ![]() |