スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
UAP実行時に動的に決定した入出力変数の文字集合名を記述する領域の構成,及び内容について説明します。
文字集合名記述領域の構成を次の図に示します。
図E-1 文字集合名記述領域の構成
文字集合名記述領域の内容を次の表に示します。
表E-1 文字集合名記述領域の内容
レベル 番号※1 |
記述領域名 | データ型 | 長さ (バイト) |
値の 設定元 |
内 容 |
---|---|---|---|---|---|
1 | SQLCSNA | − | 32[36]※2 +2×n +64×m |
− | 文字集合名記述領域全体の名前です。 |
2 | SQLCSNID | char | 8 | HiRDB | SQLCSNAを示すID 'SQLCSNA△'です。DESCRIBE文,DESCRIBE CURSOR文,又はPREPARE文を発行したとき格納されます。 |
2 | SQLCSNBC | long | 4 [8]※2 | HiRDB | SQLCSNAの長さです。DESCRIBE文,DESCRIBE CURSOR文,又はPREPARE文を発行したとき格納されます。 |
2 | SQLCVARN | short | 2 | UAP | SQLCSNAの領域を確保したとき,又はSQLCSNAを使用するとき,確保したSQLCSNA領域のSQLCVARの個数(1〜4000)を指定します。 |
HiRDB | DESCRIBE文,DESCRIBE CURSOR文,又はPREPARE文を発行したときSQLCSNAの領域が不足(SQLCVARN<SQLCVARD)する場合,2進数の0が格納されます。 | ||||
2 | SQLCVARD | short | 2 | UAP | OPEN文,EXECUTE文,EXECUTE IMMEDIATE文,又はFETCH文を発行するとき,入力?パラメタに対する文字集合情報を指定したSQLCVARの要素番号の最大値を指定します。 |
HiRDB | DESCRIBE[OUTPUT],DESCRIBE CURSOR文,又はPREPARE文を発行したとき,2進数の0,検索項目数,又は出力?パラメタに対応する文字集合情報が設定されたSQLCVARの要素番号の最大値が設定されます。
|
||||
2 | SQLCSNN | short | 2 | UAP | SQLCSNAの領域を確保したとき,確保したSQLCSN領域の個数(1)を指定します。 |
HiRDB | DESCRIBE文,DESCRIBE CURSOR文,又はPREPARE文を発行したとき,SQLCSNの領域が不足(SQLCSNN<SQLCSND)する場合,2進数の0が格納されます。 | ||||
2 | SQLCSND | short | 2 | UAP | OPEN文,EXECUTE文,EXECUTE IMMEDIATE文,又はFETCH文を発行するとき,入力?パラメタで使用する文字集合数(1)を指定します。 |
HiRDB | DESCRIBE[OUTPUT],DESCRIBE CURSOR文,又はPREPARE文を発行した場合,SQLCSNの領域が不足(SQLCSNN<SQLCSND)するとき,2進数の0,検索項目,又は出力?パラメタで使用する文字集合数が格納されます。
|
||||
2 | SQLCSNEX | − | 12 | − | 未使用 |
2 | SQLCVAR | − | 2×n | − | SQLCSNXから構成される領域。この領域は,SQLDAのSQLVARに対応する領域であり,SQLCVARNで指定した個数分を繰り返し定義する必要があります。 |
3 | SQLCSNX | short | 2 | UAP | OPEN文,EXECUTE文,EXECUTE IMMEDIATE文,又はFETCH文を発行するとき,入力?パラメタに対する文字集合名を持つSQLCSNの要素番号を指定します。 |
HiRDB | DESCRIBE文,DESCRIBE CURSOR文,又はPREPARE文を発行したとき,検索項目又は?パラメタで使用している文字集合名を持つSQLCSNの要素番号が格納されます。検索項目,又は出力?パラメタ中に文字集合指定がない場合は,2進数の0が格納されます。 DESCRIBE INPUT文,PREPARE文を発行したとき,入力?パラメタで使用している文字集合名を持つSQLCSNの要素番号が格納されます。入力?パラメタ中に文字集合指定がない場合は,2進数の0が格納されます。 |
||||
2 | SQLCSN | − | 64×m | − | SQLCSOL,SQLCSOC,SQLCSNL,及びSQLCSNCから構成される領域。この領域は文字集合情報ごとの領域であり,SQLCSNNで指定した個数の領域を繰り返し定義する必要があります。 |
3 | SQLCSOL | short | 2 | UAP | OPEN文,EXECUTE文,EXECUTE IMMEDIATE文,又はFETCH文を発行するとき,認可識別子の長さを指定します。 |
HiRDB | DESCRIBE文,DESCRIBE CURSOR文,又はPREPARE文を発行したとき,認可識別子の長さが格納されます。 | ||||
3 | SQLCSOC | char | 30 | UAP | OPEN文,EXECUTE文,EXECUTE IMMEDIATE文,又はFETCH文を発行するとき,認可識別子を指定します。 |
HiRDB | DESCRIBE文,DESCRIBE CURSOR文,又はPREPARE文を発行したとき,認可識別子が格納されます。 | ||||
3 | SQLCSNL | short | 2 | UAP | OPEN文,EXECUTE文,EXECUTE IMMEDIATE文,又はFETCH文を発行するとき,文字集合名の長さを指定します。 |
HiRDB | DESCRIBE文,DESCRIBE CURSOR文,又はPREPARE文を発行したとき,文字集合名の長さが格納されます。 | ||||
3 | SQLCSNC | char | 30 | UAP | OPEN文,EXECUTE文,EXECUTE IMMEDIATE文,又はFETCH文を発行するとき,文字集合名を指定します。 |
HiRDB | DESCRIBE文,DESCRIBE CURSOR文,又はPREPARE文を発行したとき,文字集合名が格納されます。 |
UAPがSQLCSNに設定できる文字集合情報の内容を次の表に示します。
表E-2 UAPがSQLCSNに設定できる文字集合情報の内容
SQLCSOL | SQLCSOC | SQLCSNL | SQLCSNC |
---|---|---|---|
6 | MASTER | 6 | EBCDIK※1 |
6 | MASTER | 8 | UTF-16LE※2 |
6 | MASTER | 8 | UTF-16BE※2 |
6 | MASTER | 5 | UTF16※2 |
C言語のUTF-16のデータ記述を使用する場合,又はCOBOL2002のUnicode機能を使用して,COBOL言語の日本語項目(PICTURE N)を含むデータ記述を使用する場合,文字集合UTF16,UTF-16LE及びUTF-16BEを設定します。
C言語のUTF-16のデータ記述については,「付録F.1 SQLのデータ型とC言語のデータ記述」を参照してください。COBOL言語の日本語項目(PICTURE N)を含むデータ記述については,「付録F.2 SQLのデータ型とCOBOL言語のデータ記述」を参照してください。
文字集合UTF16,UTF-16LE及びUTF-16BEの属性を次の表に示します。
表E-3 文字集合UTF16,UTF-16LE及びUTF-16BEの属性
文字集合名 | 使用形式 | 文字レパートリ |
---|---|---|
UTF-16LE | UTF-16リトルエンディアン | UTF-16でコード化できるUnicodeの文字 |
UTF-16BE,UTF16 | UTF-16ビッグエンディアン |
結果の文字集合がUTF16となるSQLの検索項目,又は?パラメタに対してDESCRIBE文,DESCRIBE TYPE文,DESCRIBE CURSOR文,PREPARE文を発行した場合,HiRDBは文字集合名記述領域に文字集合名としてUTF16を設定します。
OPEN文,EXECUTE文,EXECUTE IMMEDIATE文,FETCH文で結果の文字集合がUTF16となるSQLの検索項目,又は?パラメタのデータを取り出す場合,又はUTF-16で表現されたデータを?パラメタを用いてHiRDBにデータを渡す場合,文字集合名にUTF16,UTF-16LE,又はUTF-16BEを指定してください。
SQL記述領域と文字集合名記述領域の関係を次の図に示します。
図E-2 SQL記述領域と文字集合名記述領域の関係
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.