COBOL2002 操作ガイド
ODBCレコード定義生成機能は,データソースに依存する列情報を,いったんデータソースに依存しないODBCのSQLデータ型に変換します。そして,変換したSQLデータ型を基にCOBOL2002のレコード定義を生成します。
ここでは,その規則について説明します。
データソース中の表から求められる列情報の意味,およびその列情報がどのような値をとるのかを次に示します。
表5-1 データソース中の表から求められる列情報と変換されるSQLデータ型
| 表の列情報(型名) | SQLデータ型 | 列情報の意味 |
|---|---|---|
| 表名(TABLE_NAME) | Varchar(128) not NULL |
表の識別子。 |
| 列名(COLUMN_NAME) | Varchar(128) not NULL |
列の識別子。 |
| データ型 (DATA_TYPE) |
Smallint not NULL |
SQLのデータ型。 ODBC SQL,またはドライバ特有のSQLのデータ型である。 |
| 型名(TYPE_NAME) | Varchar(128) not NULL |
データソースに依存するデータ型の名称。 例えば,"CHAR","VARCHAR","MONEY","LONG VARBINARY",または"CHAR ( ) FOR BIT DATA"など。 |
| 精度(PRECISION) | Integer | 列の精度。 |
| 長さ(LENGTH) | Integer | 列の長さ。 SQL_C_DEFAULTが指定されているとSQLGetData,またはSQLFetchに送られたデータのバイト長。 数値データについてのサイズは,データソース上に格納されたデータのサイズと異なる場合がある。 この値は,文字またはバイナリデータ時には,列の精度と同じになる。 |
| スケール(SCALE) | Smallint | 列のスケール。 スケールが適用できないデータ型には,NULLが返される。 |
COBOL2002のレコード定義を生成するとき,01レベルのデータ名称は表名になります。02レベル以降の変換規則については,次に示すSQLのデータ型から生成されるCOBOL2002のレコード定義に従います。
表5-2 SQLのデータ型から生成されるCOBOL2002のレコード定義
| SQLデータ型 | 符号付き/ 符号なし |
生成されるCOBOL2002のレコード定義 |
|---|---|---|
| CHAR(n) | − | 02 列名 PIC X(n). |
| VARCHAR(n) | − | 02 列名.
03 ODBC-length PIC S9(9)
USAGE BINARY.
03 ODBC-char PIC X(n).
|
| LONG VARCHAR | − | 02 列名.
03 ODBC-length PIC S9(9)
USAGE BINARY.
03 ODBC-char PIC X(2000).
|
| DECIMAL(p,s) | − | 02 列名 PIC S9(p-s)V9(s)
SIGN LEADING SEPARATE.
|
| NUMERIC(p,s) | − | 02 列名 PIC S9(p-s)V9(s)
SIGN LEADING SEPARATE.
|
| SMALLINT | 符号付き | 02 列名 PIC S9(4) USAGE BINARY. |
| 符号なし | 02 列名 PIC 9(4) USAGE BINARY. |
|
| INTEGER | 符号付き | 02 列名 PIC S9(9) USAGE BINARY. |
| 符号なし | 02 列名 PIC 9(9) USAGE BINARY. |
|
| REAL | − | 02 列名 USAGE COMP-1. |
| FLOAT | − | 02 列名 USAGE COMP-2. |
| DOUBLE PRECISION | − | 02 列名 USAGE COMP-2. |
| BIT | − | 02 列名.
03 FILLER PIC 1(7)
USAGE BIT VALUE ZERO.
03 ODBC-bit PIC 1(1) USAGE BIT.
|
| TINYINT | − | 02 列名 PIC X(1). |
| BIGINT | − | 02 列名 PIC X(20). |
| BINARY(n) | − | 02 列名 PIC X(n). |
| VARBINARY(n) | − | 02 列名.
03 ODBC-length PIC S9(9)
USAGE BINARY.
03 ODBC-binary PIC X(n).
|
| LONG VARBINARY | − | 02 列名.
03 ODBC-length PIC S9(9)
USAGE BINARY.
03 ODBC-binary PIC X(2000).
|
| DATE | − | 02 列名.
03 ODBC-year PIC S9(4)
USAGE BINARY.
03 ODBC-month PIC 9(4)
USAGE BINARY.
03 ODBC-day PIC 9(4)
USAGE BINARY.
|
| TIME | − | 02 列名.
03 ODBC-hour PIC 9(4)
USAGE BINARY.
03 ODBC-minute PIC 9(4)
USAGE BINARY.
03 ODBC-second PIC 9(4)
USAGE BINARY.
|
| TIMESTAMP | − | 02 列名.
03 ODBC-year PIC S9(4)
USAGE BINARY.
03 ODBC-month PIC 9(4)
USAGE BINARY.
03 ODBC-day PIC 9(4)
USAGE BINARY.
03 ODBC-hour PIC 9(4)
USAGE BINARY.
03 ODBC-minute PIC 9(4)
USAGE BINARY.
03 ODBC-second PIC 9(4)
USAGE BINARY.
03 ODBC-fraction PIC 9(9)
USAGE BINARY.
|
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.