Symfoware Server SQLビギナーズガイド - FUJITSU -
目次 索引 前ページ

付録B SQLSTATE値

アプリケーション中で、SQL文の実行結果は状態変のSQLSTATEに通知されます。したがって、アプリケーションは、SQL文を実行するたびにSQLSTATEをチェックして、Symfoware/RDBの処理結果を確認しながら処理を進めることができます。

■SQLSTATE

状態変数のSQLSTATEは、5桁の文字型の変数です。SQL文を実行した結果、SQLSTATEに設定される値を“状態コー”と呼びます。状態コードの先頭の2桁を“例外コー”と呼び、うしろの3桁を“副例外コー”と呼びます。SQL文の実行結果に対するコードの値を“表:SQLSTATE値”に示します。

[表: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

NULL値を設定する標識変数の指定がない

003

扱える数値の範囲を超えた

005

代入規則違反

008

扱える日時の範囲を超えた

011

部分文字列の指定に誤り

012

除数0による除算

015

扱える時間隔の範囲を超えた

018

型変換を行う文字列の形式に誤り

019

エスケープ文字の不当

024

正しくない文字型ホスト変数(入力ホスト変数の定義サイズ内にNULL文字が存在していない)

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

なし

3C

あいまいなカーソル名

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

利用者が送信した例外 (注3)

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

利用規定(注2)

410

アクセス禁止

500

データベース未定義またはDSO未定義

510

検索パス未創成

600

セションロック不可状態

700

トランザクションの実行多重度オーバ

710

リカバリ要状態

720

データベースまたは、RDBディクショナリの矛盾

730

定義系処理異常

740

分割転送での矛盾

750

一時表の制限値オーバ

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

PowerAIM/TJNLで異常検出

010

TJNLが未起動

100

Accela BizSearchで異常検出

注1) 権限記述子は、以下の項目からなります。

注2) 処理対象のDSIに対するrdbfmtコマンドを実行中の場合にも設定されることがあります。

注3) SIGNAL文の副例外コードで設定した、0〜9およびA〜Zまでの任意の文字を3桁で表現します。

備考. ODBCに対応したパソコンツールとの連携で対応するコードが表に存在しない場合には、“MSDNライブラリ Visual Studio”で参照してください。


目次 索引 前ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2006