データベースがSymfowareの場合、システムログ/イベントログにSQLSTATE値が通知されます。
SQLSTATEは、5桁の文字列です。SQL文を実行した結果、SQLSTATEに設定される値を「状態コード」と呼びます。状態コードの先頭2桁を「例外コード」、残り3桁を「副例外コード」と呼びます。
以下に、システムログ/イベントログに通知されたSQLSTATE値を例外コード順に説明します。
例外コード | 例外条件 | 副例外コード | 副例外コードの意味 |
---|---|---|---|
00 | 正常終了 | 000 | なし |
01 | 警告 | 005 | なし |
02 | データなし | 000 | なし |
07 | 動的SQLエラー | 000 | なし |
001 | USING句が被準備文内の動的パラメタと対応しない | ||
002 | USING句が被準備文内の選択リスト(相手指定)と一致しない | ||
003 | 被準備文が<カーソル指定>である | ||
004 | 動的パラメタに対するUSING句が指定されていない | ||
005 | 被準備文が<カーソル指定>でない | ||
006 | 埋め込みホスト変数属性違反(制限されたデータ型属性を指定) | ||
007 | (相手指定に対する)結果USING句が指定されていない | ||
008 | SQL記述子域の個数不当 | ||
009 | SQL記述子域のインデックス不当 | ||
08 | コネクション違反 | 000 | コネクションの利用方法の誤り |
002 | 使用中のコネクション | ||
003 | コネクションが存在しない | ||
004 | SQLサーバがSQLコネクションの接続を拒絶した | ||
09 | 被トリガ動作例外 | 000 | なし |
0A | 未サポート機能 | 000 | なし |
0P | ロール名不当 | 000 | なし |
21 | 基数違反 | 000 | 単一行SELECT文の実行で2桁以上が検索された、または比較述語に直接含まれる副問合せの結果が2桁以上検索された |
22 | データ例外 | 001 | 文字データの右側を切り捨てた(トランケート) |
002 | ナル値を設定する標識変数の指定がない | ||
003 | 扱える数値の範囲を超えた | ||
005 | 代入規則違反 | ||
008 | 扱える日時の範囲を超えた | ||
011 | 部分文字列の指定に誤り | ||
012 | 除数0による除算 | ||
015 | 扱える時間幅の範囲を超えた | ||
018 | 型変数を行う文字列の形式に誤り | ||
019 | エスケープ文字の不当 | ||
024 | 正しくない文字型ホスト変数(入力ホスト変数の定義サイズ内にナル文字が存在していない) | ||
027 | TRIM文字の指定に誤り | ||
701 | 正しくない可変長文字列(長さ部の値が0未満、または定義サイズを超えている) | ||
702 | DSI範囲外アクセス | ||
703 | 正しくない数値(固定小数点の符号部の値が不当) | ||
704 | 正しくない文字(各国語文字列の値が不当) | ||
23 | NOT NULL制約違反、一意性制約違反 | 000 | なし |
24 | カーソル状態不当 | 000 | なし |
25 | トランザクション状態不当 | 000 | なし |
26 | SQL文識別子不当 | 000 | なし |
28 | パスワードが不当 | 000 | なし |
2B | 依存する権限記述子がまだ存在する(*1) | 000 | なし |
2E | コネクション名が不当 | 000 | なし |
2F | ルーチン呼び出しエラー | 000 | なし |
003 | 禁止されているSQL文の実行 | ||
33 | 記述子名不当 | 000 | なし |
34 | カーソル名不当 | 000 | なし |
37 | SQL構文エラー | 000 | なし |
3D | カタログ名不当 | 000 | なし |
3F | スキーマ名不当 | 000 | なし |
40 | トランザクションロールバック | 001 | トランザクション直列化に失敗または実時間オーバー |
003 | 文終了不明(処理時間オーバーまたは強制終了) | ||
701 | テンポラリログ領域不足 | ||
702 | COMMIT実行時エラー | ||
703 | アクセス中のノードダウン | ||
704 | アーカイブログファイル不足 | ||
705 | Connection Managerの強制終了 | ||
801 | 定義系処理異常 | ||
42 | アクセス規則違反 | 000 | 権限なし |
44 | ビューに対する更新でWITH CHECK OPTIONに違反 | 000 | なし |
60 | 利用者送信例外 | XXX(*2) | 利用者が送信した例外 |
70 | 定量制限 | 000 | なし |
71 | 環境不整合または運用矛盾 | 000 | OSの制限値を超えた |
001 | Symfoware/RDBが未起動 | ||
002 | サーバシステムが未起動 | ||
003 | ダウン中ノードへのアクセス要求 | ||
004 | 外部プロセスダウン | ||
010 | 環境変数、または動作環境ファイルの形式が不当 | ||
020 | Symfoware/RDBの制限値を超えた | ||
030 | Symfoware/RDB環境矛盾 | ||
031 | コード変換ライブラリロード失敗 | ||
210 | DSIが未定義またはDSIが未選択 | ||
220 | DSIが未フォーマット | ||
300 | カーソル矛盾 | ||
400 | 利用規定(*3) | ||
410 | アクセス禁止 | ||
500 | データベース未定義またはDSO未定義 | ||
510 | 検索パス未創成 | ||
600 | セションロック不可状態 | ||
700 | トランザクションの実行多重度オーバー | ||
710 | リカバリ要状態 | ||
720 | データベース、またはRDBディクショナリの矛盾 | ||
730 | 定義系処理異常 | ||
740 | 分割転送での矛盾 | ||
750 | 一時表の制限値オーバー | ||
71 | 環境不整合または運用矛盾 | 800 | DSI自動容量拡張での異常 |
900 | 待機システムでのSQL文の実行 | ||
A00 | 順序の利用順違反 | ||
72 | 外部記憶領域などの不足 | 000 | DSIの格納領域不足 |
010 | データベーススペース不足 | ||
100 | ディレクトリ領域不足 | ||
200 | 作業用テーブル領域不足 | ||
73 | メモリの領域不足 | 100 | ローカルメモリのプール数が設定上限値を超えた |
110 | ローカルメモリの不足 | ||
200 | 共用メモリのプール数が設定上限値を超えた | ||
210 | 共用メモリの不足 | ||
300 | 共用バッファの不足 | ||
74 | 外部記憶領域への入出力異常 | 000 | データベーススペースの入出力異常 |
010 | データベーススペースのアクセス権なし | ||
100 | ディレクトリ領域への入出力異常 | ||
110 | ディレクトリ領域のアクセス権なし | ||
200 | 作業用ファイルの入出力異常 | ||
210 | 作業用ファイルのアクセス権なし | ||
400 | テンポラリログ領域の入出力異常 | ||
410 | テンポラリログ領域のアクセス権なし | ||
500 | スナップファイルへの入出力異常 | ||
600 | その他のファイルの入出力異常 | ||
610 | アクセス権なし | ||
720 | RDBディクショナリの入出力異常 | ||
75 | コネクション環境異常 | 000 | コネクション実行環境の異常 |
76 | システム環境異常 | 000 | システム異常 |
77 | 他製品の動作異常 | 000 | TJNLで異常検出 |
100 | eAccela BizSearchで異常検出 |
*1:
権限記述子は、以下の項目からなります。
・権限受領者が所有する資源(表、ビューなど)
・権限受領者が他の認可識別子に付与した権限
*2:
SIGNAL文の副例外コードで設定する0~9およびA~Zまでの任意の文字を3桁で表現します。
*3:
処理対象のDSIに対するrdbfmtコマンドを実行中の場合にも設定されることがあります。