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.