ヘッダーをスキップ
Oracle® Database Provider for DRDAユーザーズ・ガイド
12c リリース1 (12.1.0.2) for Linux x86-64
E98592-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

9 Oracle Database Provider for DRDAでのエラー・コードのサポート

この章では、Oracle Database Provider for DRDAでのエラー・コードのサポートについて説明します。

この章には、次の項が含まれます。

Oracleエラー・コードのマッピング

DRDAおよびDB2では、正常に完了しても警告が生成される特定タイプの操作があります。たとえば、操作により整数オーバーフローの状況が発生した場合、DB2は処理を続行し、エラーを含む列値に設定されたインディケータとともに残りの行データを返します。また、警告コード+802が発行されます。

(EXCEPTION ERROR exceptioncode HAS OCCURRED DURING
   operationtype OPERATION 
   ON datatype DATA, 
   POSITION positionnumber)

DB2およびDRDAでは、負数のSQLCODEはエラーであり、正数のSQLCODEは警告です。Oracleでは、DRDA(およびDB2)とは異なり、警告条件の概念がありません。Oracleではコールの実行が成功するか、またはエラーが生成されるかのいずれかです。たとえば、Oracleではオーバーフロー状況はエラーとして処理され、続行しません。このため、Oracle Database Provider for DRDAではDB2の動作を正確にエミュレートできません。

ただし、OracleとDRDA(およびDB2)の両方に共通するほとんどの標準的なエラー条件はマップできます。表9-1は、Oracleの一般的なエラー・コードならびにそれに相当するSQLコードおよびSQL状態を示しています。

表9-1 OracleからDRDAへのエラー・コードのマッピング

Oracleエラー・コード SQLCODE SQLSTATE エラー・コードの説明

ORA-00001

-803

23505

一意制約違反

ORA-00900

-104または-199

42601

無効なSQL文

ORA-00900

-84

42616

無効なSQL文

ORA-00901

-104または-199

42601

無効なCREATEコマンド

ORA-00902

-104または-199

42601

無効なデータ型

ORA-00903

-104または-199

42601

無効な表名

ORA-00904

-204

42704

無効な識別子

ORA-00904

-206

42703

無効な識別子

ORA-00905

-199

42601

スペルが正しくないキーワード

ORA-00906

-104

42601

左カッコがありません。

ORA-00907

-104

42601

右カッコがありません。

ORA-00908

-104

42601

NULLがありません。

ORA-00909

-170

42605

引数の数が正しくありません。

ORA-00910

-604

42611

長さがmax+1CHAR列を作成しています。

ORA-00911

-104または-199

42601

無効な文字

ORA-00913

-117

42802

値の個数が多すぎます。

ORA-00917

-104または-199

42601

カンマがありません。

ORA-00918

-203

42702

列使用方法があいまいです。

ORA-00920

-104または-199

42601

関係演算子が無効です。

ORA-00922

-104または-199

42601

オプションが無効であるか存在しません。

ORA-00923

-104

42601

FROMキーワードが指定の位置にありません。

ORA-00925

-104

42601

INTOキーワードがありません。

ORA-00926

-104

42601

VALUESキーワードがありません。

ORA-00927

-199

42601

=記号がありません。

ORA-00928

-104

42601

SELECTキーワードがありません。

ORA-00932

-408

42821

値にターゲット列の型との互換性がありません。

ORA-00933

-104または-199

42601

SQLコマンドが適切に終了していません。

ORA-00934

-120

42903

グループ関数は使用できません。

ORA-00936

-104または-199

42601

式がありません。

ORA-00937

-122

42803

単一のグループ関数ではありません。

ORA-00942

-204

42704

表またはビューが存在しません。

ORA-00947

-117

42802

値の個数が不足しています。

ORA-00950

-104または-199

42601

無効なDROPオプション

ORA-00955

-601

42710

すでに使用されているオブジェクト名です。

ORA-00957

-612

42711

列名が重複しています。

ORA-00960

-203

42702

選択リストに未確定の列名があります。

ORA-00969

-104

42601

ONキーワードがありません。

ORA-00971

-104

42601

SETキーワードがありません。

ORA-00972

-107

46002

識別子が長すぎます。

ORA-00975

-182

42816

日付と日付の加算はできません。

ORA-00979

-122

42803

GROUP BYの式ではありません。

ORA-00999

-104または-199

42601

ビュー名が無効です。

ORA-01000

-905

57014

最大オープン・カーソル数を超えました。

ORA-01002

-501

22003

フェッチ順序が無効です。

ORA-01008

-313

07001

バインドされていない変数があります。

ORA-01031

-551

42501

オブジェクトに対して操作を実行する権限が不足しています。

ORA-01036

-313

07001

変数の名前/数が無効です。

ORA-01400

-407

23502

NULLを列に挿入できません。

ORA-01403

+100

02000

データが見つかりません。

ORA-01410

-399

22511

無効なROWID

ORA-01422

-811

21000

完全フェッチがリクエストよりも多くの行を戻しました。

ORA-01424

-130

22019

エスケープ文字に続く文字がないか、または無効です。

ORA-01425

-130

22025

エスケープ文字は長さ1の文字列である必要があります。

ORA-01427

-811

21000

単一行の副問合せから複数の行が戻されました。

ORA-01435

-553

42503

ユーザーが存在しません

ORA-01438

-413

22003

この列に許容される指定精度より大きな値です。

ORA-01455

-413

22003

列の変換によりINTEGERデータ型がオーバーフローしました。

ORA-01476

-802

22012

除数が0です。

ORA-01488

-302

22001

入力データ中のニブルまたはバイトが無効です。

ORA-01722

-408

42821

数値が無効です。

ORA-01730

-158

42811

CREATE VIEWに指定された列の数があいまいです。

ORA-01745

-313

07001

ホスト/バインド変数名が無効です。

ORA-01747

-104または-199

42601

無効な表または列が指定されました。

ORA-01756

-104

42603

引用符付き文字列の引用符が欠落しています。

ORA-01789

-421

42826

集合演算子のオペランドで列数が同一ではありません。

ORA-01830

-181

22007

入力文字列全体を変換する前に日付書式ピクチャが終了しました。

ORA-01841

-181

22007

(周)年は-4713+9999の間の0以外の数字を指定する必要があります。

ORA-01843

-181

22007

無効な月。

ORA-01847

-181

22007

無効な年。

ORA-01858

-181

22007

日付の数値を指定する位置に数値ではないものが指定されています。

ORA-01861

-180

22007

リテラルが書式文字列と一致しません。

ORA-02089

-426

2D528

下位セッションにCOMMITは使用できません。

ORA-04043

-204

42704

オブジェクトが見つかりません。

ORA-04063

-84

42612

パッケージ本体にエラーがあります。

ORA-06550

-204

42504

次のような様々なPL/SQLエラーを報告します。

  • PLS00201: 識別子を宣言してください。

  • PLS00904: オブジェクトにアクセスするには権限が不十分です。

ORA-06576

-440

42884

ファンクション名またはプロシージャ名が無効です。

ORA-08006

-508

24504

現在、指定した行は存在しません。

ORA-12899

-404

22001

列に対して値が大きすぎます。

ORA-20980

-551

42501

ユーザーにはこの操作のためのパッケージ権限がありません。

ORA-20981

-917

42969

パッケージのバインドに失敗しました。

ORA-20982

-551

42501

ユーザーにはこの操作のためのパッケージ権限がありません。

ORA-20983

-722

42704

パッケージが存在しません。

ORA-22275

-423

0F001

無効なLOBロケータが指定されました。

ORA-24333

-104または-199

42601

SQL文にスペルミスがあります。

ORA-24381

-253

22529

配列の挿入またはマージでエラーが報告されました。





その他すべてのエラー

-84

42612