ノンストップデータベース HiRDB Version 9 コマンドリファレンス(UNIX(R)用)
表4-2 pddef実行時のLANG,PDLANG,及びPDCLTCNVMODEの設定方法
| 入力文字コード | 定義を登録するHiRDBサーバの文字コード※1 | pddef実行環境の文字コード | ||
|---|---|---|---|---|
| LANG※2 | PDLANG※3 | PDCLTCNVMODE※3 | ||
| SJIS(シフトJIS漢字コード) | SJIS | SJIS | Linux版の場合:SJIS 上記以外の場合:省略 |
省略 |
| UJIS(EUC日本語漢字コード) | UJIS | UJIS | 省略 | |
| C(単一バイト文字コード) | C | C | 省略 | |
| chinese(EUC中国語漢字コード) | chinese | 任意 | CHINESE | |
| GB18030(中国語漢字コード) | chinese-gb18030 | 任意 | CHINESE-GB18030 | |
| Unicode(UTF-8) | utf-8 | 任意(推奨値はC) | UTF-8 | |
| Unicode(IVS対応UTF-8) | utf-8_ivs | 任意(推奨値はC) | UTF-8_IVS,又はUTF-8 | |
| リターンコード | 意味 | 対策方法 | HiRDBの動作 |
|---|---|---|---|
| 0 | 正常終了(SQLがエラーとなった場合も含む) | 該当しません。 | 該当しません。 |
| 8 | メモリ不足 | ほかのプロセスが終了してから再度実行するか,又はメモリを増やしてください。 | 処理を中断して,pddefを終了します。 |
| オプション指定エラー | オプションを正しく指定してください。 | ||
| 内部通信(オペレーションコードSINF)エラー | 出力されるメッセージに従って対処してください。 |
| リターンコード | 意味 | 対策方法 | HiRDBの動作 |
|---|---|---|---|
| 0 | 正常終了 | 該当しません。 | 該当しません。 |
| 4 | HiRDB接続時のエラー | 設定している環境変数を見直してください。 | 処理を中断して,pddefを終了します。 |
| SQLエラー | 実行したSQLを見直してください。 | 処理を続行します。 | |
| 8 | メモリ不足 | ほかのプロセスが終了してから再度実行するか,又はメモリを増やしてください。 | 処理を中断して,pddefを終了します。 |
| オプション指定エラー | オプションを正しく指定してください。 | ||
| 内部通信(オペレーションコードSINF)エラー | 出力されるメッセージに従って対処してください。 |
次のSQL文でエラーが発生した場合,GET DIAGNOSTICS文が実行され,エラー情報が出力されます。ただし,SQL文中に注釈がある場合,ERROR_POSITIONには注釈を除いた値が表示されます。
エラー情報の形式を次の図に示します。
図4-2 エラー情報の形式
SQL文の最初に現れた「/*」以降を注釈とみなします。それ以降,指定したすべての文字(セミコロンを含む)を注釈として扱います。また,注釈の開始を示す「/*」以降,最初に現れた「*/」を注釈の終了とみなします。この注釈を囲み注釈といいます。ただし,システム定義のpd_sql_simple_comment_useオペランドがYの場合は,SQL文中の「--」から,それ以降の最初の改行コードまでのすべての文字(セミコロンを含む)を注釈とみなします。この注釈を単純注釈といいます。
例を次に示します。なお,下線部が注釈とみなされます。
(例1) CREATE TABLE T1 (C1 INT) ; /* CU ADDRESS TABLE */ …注釈の開始・終了 (例2) CREATE TABLE T1 /* CU ADDRESS TABLE */ (C1 INT) ; …注釈の開始・終了 (例3) CREATE TABLE T1 /* CU ADDRESS …注釈の開始・継続 TABLE */ (C1 INT) ; ………………注釈の終了 (例4) CREATE TABLE T1 /* CU ADDRESS TABLE * (C1 INT) ; …注釈の開始・継続 (例5) CREATE TABLE T1 /* CU /* ADDRESS */ TABLE */ (C1 INT) ; …注釈の開始・終了 (例6) CREATE TABLE T1 -- CU ADDRESS …注釈の開始・終了 (C1 INT) ;
引用符(")やアポストロフィ(')で囲まれた「/* 〜 */」及び「-- 〜 改行コード」は注釈とみなされません。注釈の記述方法については,マニュアル「HiRDB Version 9 SQLリファレンス」のSQLの記述形式を参照してください。また,注釈の扱いは会話型SQL実行ユティリティ(pdsql)とは異なるので注意してください。
CONNECT後にサーバと内部通信します(オペレーションコードSINF)。この内部通信がエラーになると,SQLエラーが出力され,処理を終了します。
データベース定義ユティリティを実行した場合,条件によってSQL文中の制御文字の扱いが異なります。条件ごとの制御文字の扱いを次に示します。
表4-3 SQL文中の制御文字の扱い
| 項番 | システム定義のpd_sql_simple_comment_useオペランドの値 | 改行コードの削除 | 改行コード以外の制御文字の空白変換 |
|---|---|---|---|
| 1 | N | ○ | ○ |
| 2 | Y | × | × |
pdsetupコマンドで文字コードとしてutf-8,又はutf-8_ivsを選択した場合,pddefの入力ファイルには,BOMを持つファイルを使用できます。なお,pddefの入力ファイルとしてBOMを持つファイルを使用しても,BOMは読み飛ばされます。
All Rights Reserved. Copyright (C) 2010, 2017, Hitachi, Ltd.