スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

12.5.2 エラーの詳細情報の取得と対処

分散サーバでエラーが発生し,分散クライアントに次の表に示すSQLCODEが設定された場合,GET DIAGNOSTICS文で詳細情報を取得できます。詳細情報を出力するときに,SQL連絡領域のSQLCAIDE領域の内容も出力すると,分散サーバのDBMSの種別が特定できます。

GET DIAGNOSTICS文では,次に示す四つの詳細情報を取得できます。

なお,GET DIAGNOSTICS文で詳細情報を取得中に分散サーバで発生したエラーについては,詳細情報を取得できません。

分散サーバでエラーが発生した場合にGET DIAGNOSTICS文で取得できる文情報項目を次の表に示します。

表12-13 分散サーバでエラーが発生した場合にGET DIAGNOSTICS文で取得できる文情報項目

文情報項目名 SQL文 内   容
NUMBER CALL文以外 1
CALL文 1+分散サーバの診断領域中のエラー数
MORE CALL文以外 N
CALL文 Y:分散サーバで発生したエラーの数
  >分散サーバの診断領域中のエラー数
N:分散サーバで発生したエラーの数
  =分散サーバの診断領域中のエラー数

分散サーバでエラーが発生した場合,条件番号に1を指定すると,GET DIAGNOSTICS文で条件情報項目を取得できます。また,分散サーバでCALL文のエラーが発生した場合,条件番号に2以上を指定すると,GET DIAGNOSTICS文で分散サーバの診断領域中の診断情報を取得できます。

分散サーバでエラーが発生した場合,条件番号に1を指定した場合に取得できる条件情報項目を次の表に示します。

表12-14 分散サーバでエラーが発生した場合に条件番号に1を指定したGET DIAGNOSTICS文で取得できる条件情報項目

条件情報項目名 情報の有無 内   容
RETURNED_SQLCODE 分散サーバが返したSQLCODE1
02
ERROR_POSITION 0
ERROR_SQL_NO 0
ERROR_SQL 1文字の空白
ROUTINE_TYPE 1文字の空白
ROUTINE_SCHEMA 1文字の空白
ROUTINE_NAME 1文字の空白
MESSEAGE_TEXT 分散サーバが返したメッセージテキスト
1文字の空白
RDNODE_NAME 分散サーバのRDノード名称

注※1
分散クライアントのSQLCODEが-861の場合に取得します。

注※2
分散クライアントのSQLCODEが-862の場合,分散サーバからSQLCODEが返されないので0が設定されます。