SQL0750 - SQL0999
SQL メッセージ ID | メッセージ | 説明 | ユーザーの対応 |
---|---|---|---|
SQL0750N |
表または列を名前変更できないためにステートメントが失敗しました。 | 以下のいずれかの理由により、RENAME ステートメントのソース表を名前変更できません。
以下に示した 1 つ以上の理由により、ALTER TABLE ステートメントのターゲット表の列を名前変更できません。
|
エラーが RENAME ステートメントに関するものである場合、RENAME ステートメントを発行する前に、表に従属するビュー、マテリアライズ照会表、トリガー、SQL 関数、SQL メソッド、チェック制約、参照制約、式ベースの索引、または XSR オブジェクトをドロップしてください。 カタログを照会することにより、表に従属するオブジェクトを判別できます。
エラーが ALTER TABLE ステートメントの RENAME COLUMN アクションに関するものである場合、ターゲット表が履歴表である間は、列を直接名前変更できません。 以下のアクションのいずれかを実行して、列を名前変更できます。
列が、random by generation 方式を使用したランダム分散表のランダム分散キー列である場合、アクションは不要です。 この列はシステム生成列であり、名前変更できません。 sqlcode: -750 sqlstate: 42986 |
SQL0751N |
ルーチン routine-name (特定名 specific-name) が、許可されていないステートメントを実行しようとしました。 | ルーチンの本体をインプリメントするために使用されるプログラムは、 接続ステートメントの発行を許可されていません。 ルーチンが関数またはメソッドの場合は、 COMMIT および ROLLBACK (SAVEPOINT オプションなし) も許可されません。 ルーチンがプロシージャーであり、 それがトリガー、関数、メソッド、または動的コンパウンド・ステートメントの中で呼び出される場合、 そのプロシージャーの中で COMMIT または ROLLBACK ステートメントは実行できません。 |
許可されないステートメントを除去して、プログラムを再コンパイルしてください。 sqlcode: -751 sqlstate: 38003、42985 |
SQL0752N |
CONNECT タイプ 1 設定が使用されている場合、論理作業単位内でのデータベースへの接続は許可されていません。 | COMMIT または ROLLBACK ステートメントを 発行する前に、別のデータベースまたは同じ データベースへの接続が試みられました。 要求は、CONNECT タイプ 1 環境内では処理できません。 |
sqlcode: -752 sqlstate: 0A001 |
SQL0773N |
CASE ステートメント用のケースが見つかりませんでした。 | ELSE 節のない CASE ステートメントが、SQL ルーチンのルーチン本体に見つかりました。 CASE ステートメントに指定されている条件が一致しません。 |
可能性のある条件をすべて扱えるよう、CASE ステートメントを変更してください。 sqlcode: -773 sqlstate: 20000 |
SQL0774N |
このステートメントは、ATOMIC コンパウンド SQL ステートメント内では実行できません。 | ATOMIC コンパウンド SQL ステートメントのコンテキスト内で、COMMIT または ROLLBACK ステートメントを検出しました。 これらのステートメントは、このコンテキストでは許可されません。 |
COMMIT または ROLLBACK ステートメントを除去するか、またはATOMIC コンパウンド・ステートメントにならないように、コンテキストを変更してください。 sqlcode: -774 sqlstate: 2D522 |
SQL0776N |
カーソル cursor-name の使用は無効です。 | カーソル cursor-name が、SQL プロシージャーの FOR ステートメントに カーソル名として指定されています。 このカーソルは、FOR ステートメント内の CLOSE、FETCH、または OPEN ステートメントには指定できません。 |
CLOSE、FETCH、または OPEN ステートメントを除去してください。 sqlcode: -776 sqlstate: 428D4 |
SQL0777N |
ネストされたコンパウンド・ステートメントは許可されていません。 | SQL プロシージャーのルーチン本体の ATOMIC コンパウンド・ステートメントをネストすることはできません。 |
ネストされた ATOMIC コンパウンド・ステートメントが SQL プロシージャーに組み込まれていないことを確認してください。 sqlcode: -777 sqlstate: 42919 |
SQL0778N |
終了ラベル label が開始ラベルと同じではありません。 | FOR、 IF、 LOOP、 REPEAT、 WHILE またはコンパウンド・ステートメントの 末尾に指定されているラベル label が、ステートメントの先頭にあるラベルと 異なっています。 開始ラベルが指定されていない場合、終了ラベルを指定することはできません。 |
FOR、IF、LOOP、REPEAT、WHILE、およびコンパウンド・ステートメントで、終了ラベルが開始ラベルと同じであることを確認してください。 sqlcode: -778 sqlstate: 428D5 |
SQL0779N |
GOTO、ITERATE または LEAVE ステートメントに指定されているラベル label が無効です。 | GOTO、 ITERATE または LEAVE ステートメントにラベル label が指定されています。 このラベルは定義されていないか、またはステートメントの有効なラベルではありません。 ITERATE ステートメントのラベルは、FOR、 LOOP、 REPEAT、 または WHILE ステートメントのラベルである必要があります。 LEAVE ステートメントのラベルは、FOR、LOOP、REPEAT、WHILE、 またはコンパウンド・ステートメントのラベルである必要があります。 GOTO のラベルは、GOTO ステートメントの有効範囲である必要があります。
|
GOTO、ITERATE、または LEAVE ステートメントに有効なラベルを指定してください。 sqlcode: -779 sqlstate: 42736 |
SQL0780N |
UNDO がハンドラーに指定されていますが、ATOMIC がコンパウンド・ステートメントに指定されていません。 | UNDO が SQL プロシージャーにあるコンパウンド・ステートメントのハンドラーに指定されています。 コンパウンド・ステートメントが ATOMIC でないかぎり、UNDO を指定することはできません。 |
コンパウンド・ステートメントが ATOMIC になるよう指定するか、またはハンドラーに EXIT あるいは CONTINUE を 指定してください。 sqlcode: -780 sqlstate: 428D6 |
SQL0781N |
条件 condition-name が定義されていないか、定義が有効範囲内にありません。 | 条件 condition-name がハンドラー宣言、SIGNAL ステートメント、または RESIGNAL ステートメントで指定されましたが、条件参照を含むコンパウンド・ステートメントの有効範囲内で条件が定義されていないか、または条件を定義済みモジュール条件として見つけることができませんでした。 ステートメントは処理できません。 |
条件参照を含むコンパウンド・ステートメント内で DECLARE CONDITION ステートメントを使用するか、または条件が参照されている可視のモジュール内で条件を定義することにより、条件を定義してください。 別の方法として、条件参照を特定の SQLSTATE 値と置き換えるか、あるいは条件を参照するハンドラー宣言、SIGNAL ステートメント、または RESIGNAL ステートメントを除去することができます。 sqlcode: -781 sqlstate: 42737 |
SQL0782N |
ハンドラーに指定されている条件または SQLSTATE 値が無効です。 | 以下のいずれかの理由で、SQL ステートメントのハンドラーに指定されている条件または SQLSTATE 値が無効です。
|
条件、SQLSTATE 値、または SQLCODE 値をハンドラーから除去してください。 sqlcode: -782 sqlstate: 428D7 |
SQL0783N |
重複する列名または無名列が、FOR ステートメントの DECLARE CURSOR ステートメントに指定されました。 | FOR ステートメントの選択リストには、ユニークな列名が入っていなければなりません。 指定された選択リストに重複する列名、または名前のない式があります。 |
FOR ステートメントに指定されている選択リストにユニークな列名を指定してください。 sqlcode: -783 sqlstate: 42738 |
SQL0784N |
制約 constraint-name をドロップできないためにステートメントが失敗しました。 | BUSINESS_TIME 期間が定義されている場合に暗黙的に生成される制約は、DROP CHECK 節または DROP CONSTRAINT 節を指定した ALTER TABLE ステートメントでは除去できません。 |
DROP CHECK 節または DROP CONSTRAINT 節を ALTER TABLE ステートメントから除去してください。 制約をドロップする必要がある場合、ALTER TABLE ステートメントで DROP PERIOD 節を使って BUSINESS_TIME 期間をドロップできます。 sqlcode: -784 sqlstate: 42860 |
SQL0785N |
SQLSTATE または SQLCODE 変数の宣言あるいは使用は許可されていません。 | SQLSTATE または SQLCODE が SQL ルーチンのルーチン本体で変数として使用されましたが、以下のいずれかの理由で無効です。
ステートメントは処理できません。 |
SQLSTATE 変数を CHAR(5) として、また SQLCODE 変数を INTEGER として宣言してください。 変数を有効な値に設定してください。 sqlcode: -785 sqlstate: 428D8 |
SQL0787N |
RESIGNAL ステートメントがハンドラー内にありません。 | RESIGNAL ステートメントは、条件ハンドラー内でのみ使用できます。 |
RESIGNAL ステートメントを除去するか、あるいは SIGNAL ステートメントを代わりに使用してください。 sqlcode: -787 sqlstate: 0K000 |
SQL0788N |
ターゲット表 table-name の特定行が、更新、削除、挿入の対象として複数回確認されたため、ステートメントが処理されませんでした。 | MERGE ステートメントの ON 検索条件、または UPDATE ステートメントの WHERE 検索条件において、ターゲット表の単一行がソース表参照の複数行と一致すると、このメッセージが返されます。 ターゲット表の単一行がソース表参照の複数行と一致すると、更新操作または削除操作でそのターゲット行が複数回操作されることになりますが、この操作はサポートされていません。 |
以下のいずれかの方法で応答します。
sqlcode: -788 sqlstate: 21506 |
SQL0789N |
パラメーターまたは SQL 変数 name のデータ・タイプは、ルーチン、コンパウンド SQL ステートメント、またはカーソル値コンストラクターのパラメーター・リストでサポートされていません。 | 以下の状態のいずれかが発生しました。
|
以下の該当するアクションのいずれかを行ってください。
sqlcode: -789 sqlstate: 429BB |
SQL0796N |
役割 role-name1 を役割 role-name2 に付与することは循環を作成するため、それは無効です。 | 役割が循環を作成する場合、役割を付与できません。 役割 role-name1 には、恐らくは別の役割を介した役割 role-name2 が含まれます。そのため、役割を role-name2 に付与することはできません。 |
該当する場合、循環が作成されないようにするには、役割 role-name2 を役割 role-name1 から取り消すか、または role-name2 が含まれている role-name1 の中に含まれる役割から取り消してから、ステートメントを再サブミットしてください。 sqlcode: -796 sqlstate: 428GF |
SQL0797N |
トリガー trigger-name が、サポートされていない トリガー SQL ステートメントで定義されています。 | 以下のリストのステートメントのみを含むトリガー SQL ステートメントでトリガーを定義する必要があります。 トリガーには、次の制御ステートメントを含めることができます。
AFTER トリガーまたは INSTEAD OF トリガーには、次のトリガー SQL ステートメントも含めることができます。
SQL コンパウンド (コンパイル済み) ステートメントを使用して定義された BEFORE トリガーには、以下のトリガー SQL ステートメントを含めることもできます。
SQL コンパウンド (コンパイル済み) ステートメントを使用して BEFORE トリガーが定義されたのではない場合、または SQL コンパウンド (コンパイル済み) ステートメントによって BEFORE INSERT トリガーが定義された場合に、トリガー操作が UNION ALL ビューに対する INSERT、または WITH ROW MOVEMENT ビューに対する UPDATE であれば、トリガー SQL ステートメントに以下のものを含めることはできません。
いくつかの場合には、trigger-name がこのメッセージに現れません。 |
このトリガーのトリガー SQL ステートメントを確認して、このメッセージに記載されたリストに合致しないステートメントを見つけ、削除してください。 sqlcode: -797 sqlstate: 42987 |
SQL0798N |
GENERATED ALWAYS として定義されている列 column-name に値を指定することはできません。 | 表内の行を挿入または更新しているとき、GENERATED ALWAYS 列 column-name に 値が指定されました。 キーワード DEFAULT が指定されていないかぎり、GENERATED ALWAYS 列を INSERT のため列リストに、あるいは UPDATE のため SET 節に指定することはできません。 INSERT または UPDATE は実行されません。 |
GENERATED ALWAYS 列を列リストまたは SET 節から除去するか、または 列の値として DEFAULT を指定してください。 sqlcode: -798 sqlstate: 428C9 |
SQL0799W |
特殊レジスターがデータベース・サーバーに存在しないか、特殊レジスターに無効な値が指定されたため、特殊レジスター special-register-name の SET ステートメントは無視されました。 | 特殊レジスターとは、アプリケーション・プロセスのためにデータベース・マネージャーによって定義されるストレージ域を指します。 特殊レジスターは、SQL ステートメントで参照できる情報を保管するために使用されます。 一部の特殊レジスターは、SET 変数ステートメントを使用して更新できます。 特殊レジスターを設定するように DB2 クライアントまたは DB2 ドライバーを構成することができます。 特殊レジスターを設定するように DB2 クライアントまたは DB2 ドライバーを構成すると、クライアントまたはドライバーは、アプリケーションの SQL ステートメントと同時に SET 変数ステートメントをデータベース・サーバーに送信します。 特殊レジスターを更新しようとしたときに、特殊レジスターがデータベース・サーバーに存在しないか、特殊レジスターに無効な値が指定されていると、このメッセージが返されます。 DB2 クライアントまたは DB2 ドライバーがアプリケーションの SQL ステートメントと同時に SET 変数ステートメントをデータベース・サーバーに送信するとき、特殊レジスターの設定が成功するか失敗するかに関わらず、データベース・サーバーはアプリケーションの SQL ステートメントを処理します。 |
特殊レジスターを設定するように DB2 クライアントまたは DB2 ドライバーを構成した場合、クライアント構成ファイル db2dsdriver.cfg で指定されている特殊レジスター設定値を妥当性検査してください。 sqlcode: +799 sqlstate: 01527 |
SQL0801N |
ゼロによる除算が試みられました。 | 列関数または算術式の処理が、結果としてゼロによる除算となりました。 ステートメントは処理できません。 INSERT、UPDATE、または DELETE ステートメントの場合は、挿入も更新も実行されません。 |
SQL ステートメントを調べて、問題の原因を判別してください。 問題がデータによるものであれば、エラーが発生した時点で処理されていたデータを調べてください。 データ・タイプの有効範囲については、「SQL リファレンス」を参照してください。 フェデレーテッド・システム・ユーザーの場合: SQL ステートメントを調べて、問題の原因を判別してください。 問題がデータによるものであれば、 エラーが発生した時点でデータ・ソースで処理されていたデータを調べてください。 sqlcode: -801 sqlstate: 22012 |
SQL0802N |
算術オーバーフロー、またはその他の算術例外が 発生しました。 | 列関数または算術式の処理で、算術オーバーフローが発生しました。 ステートメントは処理できません。 INSERT、UPDATE、または DELETE ステートメントの場合は、挿入も更新も実行されません。 |
SQL ステートメントを調べて、問題の原因を判別してください。 問題がデータによるものであれば、エラーが発生した時点で処理されていたデータを調べてください。 データ・タイプの有効範囲については、「SQL リファレンス」を参照してください。 SQL ステートメントによって返された値を列関数が扱えない場合にも、 このエラーが返されることがあります。 たとえば、MAX_LONGINT_INT SQL 制限で定義されているよりも多い行を持つ表に対して SELECT COUNT ステートメントを出すと、算術オーバーフロー・エラーが発生します。 2,147,483,647 を超える行を持つ表には COUNT_BIG 列関数を使用するよう考慮してください。 フェデレーテッド・システム・ユーザーの場合: SQL ステートメントを調べて、問題の原因を判別してください。 問題がデータによるものであれば、 エラーが発生した時点でデータ・ソースで処理されていたデータを調べてください。 データ・タイプの有効範囲を判別するには、 対応する SQL リファレンスでデータ・ソースを参照してください。 sqlcode: -802 sqlstate: 22003 |
SQL0803N |
INSERT ステートメント、UPDATE ステートメントの 1 つ以上の値、 および DELETE ステートメントが原因で発生した外部キーの更新は無効です。 これは、index-id で識別される主キー、ユニーク制約、またはユニーク索引が表 table-name が索引キーに対して重複する値を持つことを制限しているためです。 | INSERT または UPDATE のオブジェクトとなる表 table-name は、 1 つ以上の UNIQUE 索引により、 ある列または列のグループ内にユニークな値を持つように制約されています。 あるいは、親表の DELETE ステートメントが、 1 つ以上の UNIQUE 索引によって制約されている従属表 table-name 内の外部キーの変更を行いました。 ユニーク索引は、表に定義されている主キーまたはユニーク制約をサポートしている可能性があります。 要求された INSERT、UPDATE、または DELETE ステートメントを完了すると列の値が重複してしまうため、 ステートメントを処理できません。 索引が XML 列上にある場合、索引キーに対して重複する値が単一の XML 文書内から生成されることがあります。 または、INSERT または UPDATE ステートメントのオブジェクトがビューの場合には、 そのビューが定義されている表 table-name が制約を受けます。 index-id が整数値である場合は、 以下の照会を発行することによって SYSCAT.INDEXES から索引名を取得できます。 'schema' は table-name のスキーマ部分で、'table' は table-name の表名部分を表しています。 ステートメントは処理できません。 表は変更されません。 |
index-id で識別される索引の定義を調べてください。 UPDATE ステートメントの場合は、 指定した処理自体がユニーク制約との間に矛盾がないことを確認してください。 それでもエラーの内容が不明な場合には、オブジェクト表の内容を調べて、 問題の原因を判別してください。 INSERT ステートメントの場合は、オブジェクト表の内容を調べて、 ユニーク制約に違反している指定した値リストの値を判別してください。 または、INSERT ステートメントに副照会が入っている場合に問題の原因を判別するには、 その副照会によって示される表の内容をオブジェクト表の内容と一致させる必要があります。 表がセキュリティー・ポリシーを使用して保護されている場合、エラーの原因となっている行を参照することが LBAC 信用証明情報により許可されない場合があります。 索引が XML 列上にあり、ステートメントが INSERT または UPDATE のいずれかである場合、 結果として単一の XML 文書内で値が重複することにならないか考慮してください。 DELETE ステートメントの場合、示された従属表について、 外部キーのユニーク制約を調べ、規則 ON DELETE SET NULL で 定義されているかを調べてください。 この表には、示されたユニーク索引に組み込まれた外部キー列を持っています。 この表の列に NULL がすでにあるために外部キー列を NULL に設定できません。 フェデレーテッド・システム・ユーザーの場合: 問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、前にリストされた索引定義および条件のデータを調べてください。 sqlcode: -803 sqlstate: 23505 |
SQL0804N |
現在の要求に対するアプリケーション・プログラムのパラメーターが無効です。 理由コード reason-code。 SQLDA のホスト変数または SQLVAR が無効な場合、 ホスト変数/SQLVAR 番号 = var-number、 SQLTYPE = sqltype、SQLLEN = sqllen、 ホスト変数/SQLVAR タイプ = input-or-output です。 | 現行要求を処理中にエラーが発生しました。
理由コードは 次のように解釈されます。
ホスト変数を指定した SQL ステートメントでは、ホスト変数番号を使用して ステートメント (あるいはコンパウンド SQL の場合はサブステートメント) の最初からカウントし 無効なホスト変数を探し出すことができます。 SQLDA を使用したステートメントでは SQLVAR 番号が 無効な SQLVAR の検出に使用されます。 入力 SQLDA では 入力ホスト変数あるいは SQLVAR をカウントするだけです。出力も同様です。 この番号の基本は 1 であることに注意してください。 ステートメントは処理できません。 |
示されたエラーについて、アプリケーション・プログラムを 調べてください。 プログラマーは、プリコンパイラー出力を変更するべきではないことに 注意してください。 フェデレーテッド・システム・ユーザーの場合: 理由コード 102 を受け取った場合、サポートされているデータ・タイプを 指定してプログラムを再サブミットしてください。 sqlcode: -804 sqlstate: 07002 |
SQL0805N |
パッケージ package-name が見つかりませんでした。 | 必要なパッケージがカタログに見つからなかったため、ステートメントを完了できません。 package-name は、以下のいずれかの形式になります。
このメッセージ (SQLCODE) の原因として、以下のことが考えられます。
指定された package-schema.package-name に対してバージョン ID が使用されている場合、 同じパッケージ・スキーマとパッケージ名を使って定義されたパッケージが存在するけれども、 既存のパッケージが要求されたバージョンまたは整合性トークンと一致しないため、 正しいパッケージが見つからない可能性があります。 パッケージは、パッケージ名の 3 つの部分 すべてが一致していなければなりません。 複数のバージョンが使用されている場合、 このメッセージが表示された原因として、さらに以下のことが考えられます。
このいずれの場合も、要求の整合性トークンが既存バージョンの整合性トークンと 一致していないため、パッケージが検出されないと考えられています。 ステートメントは処理できません。 |
正しいパッケージ名を指定するか、またはプログラムをバインドしてください。 実行中のアプリケーションがデータベースにバインドされていない場合は、データベース管理者に連絡して、バインドに必要な処置を行ってください。 実行しているアプリケーションまたはオブジェクト・モジュールが、コンパイルされ、プリコンパイルおよびそのパッケージを生成したバインドと関連付けられた、リンクされた変更済みソース・コードであることを確認してください。 CURRENT PACKAGE PATH が設定されている場合は、このパッケージを収めたスキーマが、CURRENT PACKAGE PATH に指定されていることを確認してください。 別のバージョンのパッケージがあるかどうかを判別するには、以下の SQL ステートメントを使用してカタログを照会することができます。 UNIQUE_ID 列は、整合性トークンに対応する点に気を付けてください。 DB2 ユーティリティー・プログラムがデータベースに再バインドされる必要がある場合、データベース管理者は、データベースへの接続中にインスタンスの bnd サブディレクトリーから 以下のいずれかの CLP コマンドを発行することによって、これを実行することができます。
フェデレーテッド・システム・ユーザーの場合: フェデレーテッド・サーバーに必要なパッケージが、該当するデータ・ソースに確実にバインドされているようにしてください。 データ・ソースへのパッケージのバインドに関する詳細については、「フェデレーテッド・システム・ガイド」を参照してください。 sqlcode: -805 sqlstate: 51002 |
SQL0808N |
CONNECT ステートメント・セマンティクスに、他の既存の接続のセマンティクスとの整合性ありません。 | CONNECT ステートメントが、接続が存在するソース・ ファイルの接続オプション (SQLRULES、CONNECT タイプ、SYNCPOINT、または RELEASE タイプ) とは異なる接続タイプで プリコンパイルされたソース・ファイルから作成されています。 |
すべてのソース・ファイルが、同じ CONNECT オプションで プリコンパイルされていることを確認するか、または確認できない 場合は、最初の CONNECT ステートメントを発行する前に、SET CLIENT api を呼び出して、アプリケーション・プロセスに 必要なオプションを設定してください。 sqlcode: -808 sqlstate: 08001 |
SQL0811N |
スカラー式全選択、SELECT INTO ステートメント、または VALUES INTO ステートメントの結果が複数行にまたがっています。 | 以下のいずれかがエラーの原因です。
フェデレーテッド・システム・ユーザーの場合: この状態は、フェデレーテッド・サーバーまたはデータ・ソースによっても検出されます。 ステートメントは処理できません。 |
ステートメントに適切な条件指定が入っていることを確認してください。 条件指定が適切な場合には、1 行のみが想定されているときに、複数の行または値を返すデータの問題である可能性があります。 フェデレーテッド・システム・ユーザーの場合: 問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのオブジェクトの選択基準およびデータを調べてください。 sqlcode: -811 sqlstate: 21000 |
SQL0817N |
SQL ステートメントは、ステートメントの結果が禁止された更新操作となるため、実行されません。 | アプリケーションは、実行結果が
ユーザー・データあるいはサブシステム・カタログへの更新となる SQL を実行しようとしました。 これは、以下のいずれかの理由から禁止されています。
SQL ステートメントには INSERT、UPDATE、DELETE、CREATE、ALTER、DROP、GRANT、 および REVOKE が入っています。 ステートメントは実行できません。 |
アプリケーションが IMS 照会専用トランザクションとして動作している場合、アプリケーション実行下での照会専用トランザクションの状況変更に ついて、IMS システム・プログラマーを調べてください。 IMS または CICS アプリケーションがリモートの更新を行う場合、アプリケーションが サーバー DBMS でのローカル・アプリケーションとして動作するか、あるいは サーバー DBMS が 2 フェーズ・コミットをサポートするように アップグレードされる必要があります。 アプリケーションが複数のロケーションでデータを更新しようとする場合、アプリケーションを変更するか、あるいは すべての DBMS が 2 フェーズ・コミットをサポートするよう、アップグレードされる必要があります。 sqlcode: -817 sqlstate: 25000 |
SQL0818N |
タイム・スタンプの矛盾が起きました。 | プリコンパイル時にプリコンパイラーによって生成された タイム・スタンプが、バインド時にパッケージとともに格納された タイム・スタンプと同じではありません。 この問題は、以下の状況で発生する可能性があります。
フェデレーテッド・システム・ユーザーの場合: 前にリストされた原因に加えて、 必須パッケージをすべての適用可能なデータ・ソースにバインドするわけではないため、 問題が発生する可能性もあります。 ステートメントは処理できません。 |
オブジェクト・モジュールと一致するプログラムのバインド・ファイルを使用して、 もう一度アプリケーションをバインドしてください。 または、データベース内に格納されているパッケージに対応するプログラムを実行してください。 サンプル・データベースをインストールしている場合は、 このメッセージの番号とテキストを記録して、技術サービス担当者に連絡してください。 フェデレーテッド・システム・ユーザーの場合: 前にリストされたアクションに加えて、 フェデレーテッド・サーバーに必要なパッケージが適用可能なデータ・ソースにバインドされていることを確認してください。 データ・ソースへのパッケージのバインドに関する詳細については、「フェデレーテッド・システム・ガイド」を参照してください。 sqlcode: -818 sqlstate: 51003 |
SQL0822N |
SQLDA に、無効なデータ・アドレスまたは標識変数のアドレスが含まれています。 | アプリケーション・プログラムによって、無効なアドレスが SQLDA に置かれました。 ステートメントは処理できません。 |
アプリケーション・プログラムを修正して、 有効なアドレスが SQLDA に置かれるようにしてください。 sqlcode: -822 sqlstate: 51004 |
SQL0840N |
SELECT リストに戻された項目が多すぎます。 | SELECT リスト内に返された項目数が、許容最大値を超えています。 SELECT リストの最大値 (共通表式以外) は 1012 です。 共通表式での SELECT リストの最大は 5000 です。 ステートメントは処理できません。 |
すべての情報が実際に必要かどうかを判別してください。 (SQL ステートメント SELECT * from A、B、C の SELECT list * によって戻される項目数は、 3 つの表すべての列数の合計です) 可能であれば、情報の必要な項目だけが戻されるように SQL ステートメントを書き直してください。 すべての情報が必要な場合は、SQL ステートメントを 2 つ以上のステートメントに分割してください。 sqlcode: -840 sqlstate: 54004 |
SQL0842N |
サーバー server-name への接続はすでに存在しています。 | SQLRULES(STD) が実際あり、CONNECT ステートメントは既存 SQL 接続を 識別します。 |
エラーに対する処置は、以下のとおりです。
アプリケーションのエラーを修正して、もう一度やり直してください。 sqlcode: -842 sqlstate: 08002 |
SQL0843N |
サーバー名は既存の接続に該当しません。 | ステートメント、コマンド、または API は、アプリケーション処理の既存の SQL 接続を識別しない サーバー名を指定しました。 次の使用で発生した可能性があります。
|
エラーに対する処置は、以下のとおりです。
アプリケーションのエラーを修正して、もう一度やり直してください。 sqlcode: -843 sqlstate: 08003 |
SQL0845N |
PREVIOUS VALUE 式は、NEXT VALUE 式がシーケンス sequence-name の 現行セッションで値を生成するまで使用できません。 | PREVIOUS VALUE 式がシーケンス sequence-name を指定していますが、 値がまだこのシーケンスについて生成されていません。 シーケンスの PREVIOUS VALUE 式を発行 するためには、このシーケンスについて値を生成するために、NEXT VALUE 式をこの セッションで発行する必要があります。 |
セッション内で同じシーケンスについて PREVIOUS VALUE 式を発行する前に、シーケンスに 少なくとも 1 つの NEXT VALUE 式を発行してください。 sqlcode: -845 sqlstate: 51035 |
SQL0846N |
ID 列またはシーケンス・オブジェクト object-type object-name の 指定が無効です。 理由コード = reason-code。 | ID 列またはシーケンス・オブジェクトについて、
CREATE または ALTER ステートメントの属性の指定が、
以下のいずれかの理由により無効である可能性があります。
|
構文を訂正して、ステートメントを再サブミットしてください。 sqlcode: -846 sqlstate: 42815 |
SQL0857N |
指定されたオプションが矛盾しています (option1、option2)。 | 指定されたオプションが矛盾しています。 option1 と option2 の両方を指定するか、または 2 つのオプションのどちらも指定しないかのいずれかでなければなりません。 列を定義する際に IMPLICITLY HIDDEN が指定される場合、その列を ROW CHANGE TIMESTAMP 列として定義する必要もあります。 ステートメントは実行できません。 |
オプションに応じて、オプションを両方とも指定するか、またはどちらのオプションも指定しないかのいずれかにしてください。 sqlcode: -857 sqlstate: 42867 |
SQL0859N |
トランザクション マネージャー データベースへのアクセスが SQLCODE で失敗しましたSQLコード。 | アプリケーションが SYNCPOINT(TWOPHASE) でプリコンパイルされ、2 フェーズ・コミットを調整するために、トランザクション・マネージャー・データベースを必要としています。 トランザクション・マネージャー・データベースが使用できない理由には、以下が考えられます。
|
解決策は以下のとおりです。
sqlcode: -859 sqlstate: 08502 |
SQL0863W |
接続は成功しましたが、1 バイト文字しか使用できません。 | サーバー・データベースおよびクライアント・アプリケーションは 異なる言語タイプのコード・ページを使用し、7 ビット ASCII 範囲外の 文字は使用できません ( 7 ビット ASCII 内の文字のみがすべての コード・ページに存在します)。たとえば、日本語とラテン 1 コード・ページ間の 接続があっても、日本語文字はすべてラテン 1 コード・ページでは 使用できません。 そのため、これらの文字すべてを避ける必要があります (英語の文字は 問題ありません)。 フェデレーテッド・システム・ユーザーの場合: 可能性のある理由は、以下のとおりです。
|
アプリケーションおよびデータベース・コード・ページ間で共通でない文字を使用する SQL ステートメントまたはコマンドを実行要求しないでください。 フェデレーテッド・システム・ユーザーの場合: クライアント・システム、フェデレーテッド・システム、 およびデータ・ソース間で共通でない文字を使用する SQL ステートメントまたはコマンドをサブミットしないでください。 sqlcode: +863 sqlstate: 01539 |
SQL0864N |
参照制約 constraint-name が全選択内の SQL データ変更ステートメントにより修正される表 table-name の行の修正を試行しました。 | SQL データ変更ステートメントが FROM 節に指定されましたが、SQL データ変更ステートメントのターゲット基本表に同じ表を修正する参照制約が含まれています。 これは許可されません。 ステートメントは処理できません。 |
FROM 節内の SQL データ変更ステートメントの使用を回避するか、または SQL データ変更ステートメントのターゲットである表を修正しないように参照制約を変更してください。 sqlcode: -864 sqlstate: 560C6 |
SQL0865N |
tm_database の値が無効です。 | データベース・マネージャー構成で tm_database として選択されたデータベースが有効ではありません。 データベースはレベル DB2 V2.1 またはそれ以降のレベルでなければならず、DRDA プロトコルで (DB2 Connect で) アクセスされるデータベースは使用できません。 ステートメントは実行できません。 |
sqlcode: -865 sqlstate: 08001 |
SQL0866N |
db2dsdriver.cfg ファイルの <alternategroup> セクションが無効なので、データ・サーバー・ドライバーまたはデータ・サーバー・クライアントが database-name という名前のデータベースへの接続を終了しました。 | db2dsdriver.cfg ファイルの <alternategroup> セクションを使用して、データベースへの接続が失敗した場合に自動クライアント転送で接続する複数の代替データベース・サーバーを指定できます。 この機能は、DB2 for Linux, UNIX, and Windows サーバーおよび DB2 for z/OS サーバーでサポートされます。 DB2 for z/OS データベース・サーバーに接続する場合については、db2dsdriver.cfg ファイルの <alternategroup> セクションの内容に幾つかの制約事項があります。 db_A という名前のデータベースが DB2 for z/OS データベース・サーバーにある場合、<alternategroup> セクションに db_A の複数の <database> エントリーを含めることはできません。 このメッセージは、以下のいずれかの状況が発生したときに戻されます。
|
db2dsdriver.cfg ファイルで、対象のデータベース database-name に関連する <alternategroup> セクションを変更し、それらのエントリーとセクションが <alternategroup> サポートの制約事項を満たすようにしてください。
sqlcode: -866 sqlstate: 08001 |
SQL0868N |
USER/USING 節を使用する CONNECT が、接続がすでに 存在するサーバーに対して試みられました。 | サーバーに対する現行または休止接続が存在するので、USER/USING 節を使用したこのサーバーへの CONNECT (接続) が 試みられました。 |
解決策は以下のとおりです。
sqlcode: -868 sqlstate: 51022 |
SQL0873N |
別のコード化スキームでエンコードされたオブジェクトを同じ SQL ステートメントで参照することができません。 | SQL ステートメントが参照するすべての表、SQL 関数、および SQL メソッドが同じコード化スキームで定義されていません。 この状態は、次のような場合に発生します。
|
同じコード化スキームで作成されたオブジェクトのみを参照するように SQL ステートメントを訂正してください。 sqlcode: -873 sqlstate: 53090 |
SQL0874N |
すべてのパラメーターの CCSID は、ルーチンの PARAMETER CCSID と一致する必要があります。 | ルーチンのすべてのパラメーターは、ルーチン自体と同じコード化スキームを使用する必要があります。 パラメーターに CCSID を指定している場合、明示的または暗黙的に指定されたルーチンの PARAMETER CCSID オプションと一致する必要があります。 |
パラメーターから CCSID オプションを除去、またはステートメントを変更して全体に同じ CCSID 値を指定してください。 sqlcode: -874 sqlstate: 53091 |
SQL0880N |
SAVEPOINT savepoint-name が存在しないか、またはこのコンテキストでは無効です。 | RELEASE または ROLLBACK TO SAVEPOINT savepoint-name ステートメントを出した時点でエラーが発生しました。 この名前を持つセーブポイントが見つからないか、 または現在の ATOMIC 実行コンテキストの外側に設定されています。 ステートメントは処理できません。 |
ステートメントにあるセーブポイントの名前を訂正して、ステートメントを出し直してください。 sqlcode: -880 sqlstate: 3B001 |
SQL0881N |
名前 savepoint-name の SAVEPOINT が存在しますが、このセーブポイント名は再利用できません。 | 名前 savepoint-name は SAVEPOINT ステートメントですでに使用されています。 このセーブポイント名を使用している SAVEPOINT ステートメントの少なくとも 1 つが、 名前がユニークでなければならないことを宣言している UNIQUE キーワードも指定しているため、 この名前を再利用することはできません。 ステートメントは処理できません。 新しいセーブポイントは設定されていません。 同じ名前の古いセーブポイントが存在します。 |
このセーブポイントに別の名前を選択し、SAVEPOINT ステートメントを出し直してください。 既存のセーブポイント名を再利用する必要がある場合、 RELEASE SAVEPOINT ステートメントを出して既存のセーブポイントを解放してください。 ただし、指定されたセーブポイントが設定された後でトランザクションに設定されたセーブポイントも、 この RELEASE SAVEPOINT ステートメントによって解放されるので注意してください。 詳細については、SQL リファレンスを参照してください。 sqlcode: -881 sqlstate: 3B501 |
SQL0882N |
セーブポイントが存在しません。 | ROLLBACK TO SAVEPOINT ステートメントを出したときにエラーが発生しました。 既存のセーブポイントがない場合、 特定のセーブポイント名を指定せずに ROLLBACK TO SAVEPOINT を出すことは許可されていません。 ステートメントは処理できません。 |
異なるステートメントを出すか、または ROLLBACK ステートメントでトランザクション全体のロールバックを試みてください。 sqlcode: -882 sqlstate: 3B502 |
SQL0900N |
アプリケーションの状態にエラーがあります。 データベース接続が存在しません。 | データベースに対する接続が存在しません。 これは、以下のいずれかが理由である可能性があります。
|
既存の休止接続に切り替える (CONNECT TO または SET CONNECTION を使用) か、 または新しい接続を確立 (CONNECT を使用) するか、あるいはトラステッド接続の別のユーザーに適切に切り替えて、現行接続を再確立してください。 sqlcode: -900 sqlstate: 08003 |
SQL0901N |
データベース・システム・エラーのために SQL ステートメントまたはコマンドが失敗しました。 (理由 reason) | このメッセージが返される可能性のあるシナリオは数多くあります。 以下に、このメッセージが返される可能性のあるシナリオの例を 2 つ示します。
場合によっては、SQL ステートメントを実行するこの試みが失敗しても、後でこの SQL ステートメントまたは他のステートメントを実行する試みが成功することもあります。 ランタイム・トークン reason は空であるか、または IBM ソフトウェア・サポート担当者のみを対象にした英語のテキストが含まれている可能性があります。 |
以下のトラブルシューティング・ステップを実行して、このエラーに応答してください。
記載されたトラブルシューティング・ステップを実行した後もエラーが続く場合は、以下に示すように IBM ソフトウェア・サポートに連絡して支援を受けてください。
sqlcode: -901 sqlstate: 5UA0L、58004 |
SQL0902C |
システム・エラーが発生しました。 後続の SQL ステートメントは処理されません。 IBM ソフトウェア・サポートの理由コード: reason-code。 | このメッセージは、データベースを引き続き使用することが不可能になり得るクリティカル・エラー (重大なオペレーティング・システム・エラー、またはストレージ・メディアへのアクセス・エラーなど) がデータベース・マネージャーで発生すると返されます。 オペレーティング・システム・エラーまたは重大なメディア・エラーがデータベース・マネージャーで発生する可能性があるシナリオにはさまざまなものがあります。 このメッセージが返される可能性があるシナリオの一例を以下に示します。
ランタイム・トークン reason-code は空のこともありますが、IBM ソフトウェア・サポート担当者の支援のみを目的としています。 |
以下のトラブルシューティング・ステップを実行して、このメッセージに対応します。
記載されたトラブルシューティング・ステップを実行した後もエラーが続く場合は、以下に示すように IBM ソフトウェア・サポートに連絡して支援を受けてください。
フェデレーテッド・システム・ユーザーの場合: 問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースで必要な診断手順を実行してください。 データ・ソースの問題判別手続きはそれぞれ違うので、適用できるデータ・ソース・リファレンスを参照してください。 sqlcode: -902 sqlstate: 58005 |
SQL0903N |
COMMIT ステートメントが失敗し、トランザクションはロールバックされました。 理由コード: reason-code。 | 現在の作業単位に関連する 1 つ以上のサーバーが、コミットされる データベースを準備できませんでした。 COMMIT ステートメントは失敗し、トランザクションは ロールバックされました。 現在の作業単位に関係するサーバーが 1 台のみである場合、トランザクションは代わりにコミットされた可能性があります。 可能性のある理由コードは、以下のとおりです。
|
データベースに対する接続が失われた場合は、接続を再確立します。 障害が接続に関連していない場合は、リモート・システムのエラー診断ログを参照して、障害の特質と必要なアクションを判別します。 アプリケーションを再実行してください。 sqlcode: -903 sqlstate: 40504 |
SQL0904N |
使用できないリソースのため、実行が失敗しました。 理由コード: reason-code、リソースのタイプ: resource-type、およびリソース名: resource-name。 | タイプ resource-type のリソース resource-name は、reason-code に示された時刻に使用できなかったため、SQL ステートメントを実行できませんでした。 問題判別のドキュメントを参照してください。 Db2® for z/OS®リソース タイプ コードの説明。 |
使用できなかったリソースの ID をチェックしてください。 リソースが使用できなかった理由を 判別するには、指定された reason-code を参照してください。 sqlcode: -904 sqlstate: 57011 |
SQL0905N |
リソースの限界を超過しているため、実行が失敗しました。 リソース名 = resource-name、制限 = limit-amount1 CPU 秒 (limit-amount2 サービス単位) 、limit-source から導出。 | リソース制限を超えたため、SQL ステートメントの実行が終了しました。 制限を超えたリソースの名前は resource-name です。 これは、制限の派生元のリソース限定表の列名でもあります。 超えた制限は、CPU 秒単位で limit-amount1、 サービス単位で limit-amount2 です。 resource-name は、各 SQL ステートメントに許可されている CPU 秒の数値の、ASUTIME である可能性があります。 許可される 最大 CPU 秒数は、limit-amount1 です。 サービス単位での最大数は、limit-amount2 です。 この制限量の導出元ソースは limit-source で、これはリソース限定表の名前か、または 'システム・パラメーター' の名前です。 ソースがシステム・パラメーターの場合、表へのアクセス時に、リソース限定表に適用可能項目が入っていなかったか、またはエラーが発生しました。 いずれかの場合において、制限はインストール (システム) パラメーターから取得されました。 |
SQL ステートメントがなぜ長時間かかったかを判別して、適切なアクションをとってください。 SQL ステートメントの単純化、表および索引の再作成、またはリソース限定表保守担当のインストール・グループに連絡することを考慮してください。 この戻りコードを受け取るアプリケーション・プログラムが追加 SQL ステートメントを実行できます。 sqlcode: -905 sqlstate: 57014 |
SQL0906N |
以前のエラーのためにこの関数が無効になっているため、SQL ステートメントを実行できません。 | 前のエラーのため要求された関数が無効になっているため、SQL ステートメントの実行が失敗しました。 この状態は、アプリケーション・プログラムが異常終了を代行受信した場合 (たとえば、ON ERROR PL/I プログラムで ON ERROR 条件)、および SQL ステートメントの実行を継続した場合に発生します。 また、この状態は、DB2 CICS トランザクションでスレッド作成エラーが発生したにもかかわらず、 SYNCPOINT ROLLBACK を最初に発行せずに、SQL 要求の発行を継続した場合に発生します。 |
一般には、アプリケーション・プログラムはこの戻りコードを受信した段階で終了する必要があります。 この戻りコードで、 アプリケーションが他の SQL ステートメントを実行するためのすべての試行が失敗します。 DB2 CICS トランザクションの場合、 SQLCA で SQLERRP フィールドがモジュール名 DSNCEXT1 を含む場合、 トランザクションが SYNCPOINT ROLLBACK を発行して、処理を継続する可能性があります。 トランザクションが ROLLBACK を選択して処理を継続する場合は、 最初のスレッド作成エラーの原因となった状況を修正することが可能でなければなりません。 sqlcode: -906 sqlstate: 24514、51005、58023 |
SQL0907N |
MERGE ステートメントのターゲット表 table-name を、 制約またはトリガー name によって変更しようとしました。 | MERGE ステートメントによって、制約またはトリガー name がアクティブ化します。これらは ターゲット表または MERGE ステートメントの同じ表階層内の表でもある表 table-name の更新、挿入または削除 を行おうとします。 これは許可されません。 |
MERGE ステートメントを変更して、制約またはトリガーがアクティブ化する操作を除去するか、または 制約またはトリガーのある表を変更して、ターゲット表への参照を除去してください。 sqlcode: -907 sqlstate: 27000 |
SQL0908N |
バインド型使用エラー認証ID権限 BIND、REBIND、または AUTO_REBIND 操作は許可されません。 | BIND と REBIND の場合、示された許可 ID は、示された bind-type を、
プランまたはパッケージに対して実行することを許可されません。 リソース限定表 (RLST) に入力することは、この許可 ID、またはすべて
の許可 ID によってのバインドおよび再バインドを禁止します。 AUTO-REBIND の場合、AUTO-REBIND 操作を制御するシステム・パラメーターが
AUTO-REBIND を禁止するように設定されています。
|
指示された許可 ID がバインドに使用できる場合、アクティブ RLST 表を入力変更してください。 AUTO-REBIND 操作が無効になった場合、パッケージを再実行する前に再バインドしてください。 sqlcode: -908 sqlstate: 23510 |
SQL0909N |
オブジェクトが削除されています。 | アプリケーション・プログラムは、(1) 表をドロップしてからアク セスしようとしました、または (2) 索引をドロップしてからその索引を使用してオブジェクト表にアクセスしようとしました。 |
ドロップした後に、オブジェクトにアクセスまたは使用としないように、アプリケーション・プログラムの論理を訂正する必要があります。 アプリケーション・プログラム内で索引をドロップすることは特に危険です。 なぜならば、アプリケーション (バインドまたは再バインドによって) に対して生成された プランがオブジェクト表にアクセスするため、実際に特別な索引を使用していることを判別する方法はないからです。 sqlcode: -909 sqlstate: 57007 |
SQL0910N |
変更がペンディングになっているオブジェクトには SQL ステートメントからアクセスできません。 | アプリケーション・プログラムが、 以下のいずれかが行なわれたのと同じ作業単位内のオブジェクトにアクセスしようとしました。
または、アプリケーション・プログラムが、変更が保留中の WLM オブジェクトにアクセスしようとする SQL ステートメントを発行しました。 SQL ステートメントは以下のいずれかである可能性があります。
フェデレーテッド・システム・ユーザーの場合: 以前にリストされた原因に加えて、 オブジェクトへのアクセスを妨げる、データ・ソースに特有の他の制限が存在する可能性があります。 SQL ステートメントは処理できません。 |
変更が行なわれたのと同じ作業単位内のオブジェクトにアクセスしないように、 アプリケーション・プログラムを変更してください。 通常は、データ定義言語 (DDL) ステートメントを、 同じオブジェクトにアクセスするデータ操作言語 (DML) ステートメントとは異なる作業単位に分離します。 失敗したステートメントを正常に処理するためには、 作業単位がコミットまたはロールバックを行う必要があります。 コミットされた修正がオブジェクトをドロップする場合は、 失敗した SQL ステートメントを正常に処理するために、 オブジェクトの再作成が必要になる可能性があります。 オブジェクトが SAVEPOINT 内で変更されている場合、 ROLLBACK TO SAVEPOINT ステートメントを発行した後でそのオブジェクトへのアクセスを試みないよう、 アプリケーション・プログラムを変更してください。 変更されたオブジェクトにアクセスし、 ROLLBACK TO SAVEPOINT の時点でオープンされていたカーソルはアクセス不能になります。 カーソルをクローズするようアプリケーションを変更してください。 NOT LOGGED 作成済み一時表または宣言済み一時表を扱う挿入、削除、または更新ステートメントが失敗すると、その表にある行はすべて削除されます。 障害が発生した時点で、 この表に対してオープンされていたカーソルはアクセス不能になるため、 アプリケーションによってクローズされなければなりません。 ALTER TABLE ... DETACH PARTITION が失敗し、その原因が保留中の ALTER TABLE ... ATTACH PARTITION にある場合は、2 つの別々の作業単位でその 2 つの操作を実行してください。 SQL ステートメントでトラステッド・コンテキスト・オブジェクトにアクセスしようとした場合は、そのステートメントを後で再発行してください。 SQL ステートメントで WLM オブジェクトにアクセスしようとした場合は、そのステートメントを後で再発行してください。 フェデレーテッド・システム・ユーザーの場合: 前のアクションで問題が解決されない場合は、要求を分離します。 その後、データ・ソース上に対して存在するその他の制約のうち、オブジェクトへのアクセスを妨げる原因となっているものについて調べてください。 アプリケーションがそれらの制約に違反しないことを確認してください。 sqlcode: -910 sqlstate: 57007 |
SQL0911N |
デッドロックまたはタイムアウトのため、現在のトランザクションが ロールバックされました。 理由コード reason-code。 | 現在の作業単位が、オブジェクトの使用について、 未解決競合状態になったために、ロールバックされました。 理由コードは以下のとおりです。
アプリケーションは直前の COMMIT にロールバックされました。 |
作業単位に関連する変更は、もう一度入力する必要があります。 デッドロックまたはロック・タイムアウトを防ぐには、 可能であれば、長く実行されるアプリケーションまたは、 デッドロックを引き起こしやすいアプリケーションに対して、頻繁に COMMIT を発行してください。 フェデレーテッド・システム・ユーザーの場合: デッドロックはフェデレーテッド・サーバーまたはデータ・ソースで発生する可能性があります。 データ・ソースおよび潜在的にフェデレーテッド・システムをスパンするデッドロックを検出するメカニズムが存在しません。 要求が失敗したデータ・ソースを識別することができます。 (問題判別の手引きを参照して、SQL ステートメントの処理に失敗したデータ・ソースを判別してください。) デッドロックはだいたい標準であるか、または決まった SQL の組み合わせを処理中に予期されます。 可能な限りデッドロックを避けるために、アプリケーションを設計することをお勧めします。 CONCURRENTDBCOORDACTIVITIES しきい値などのキューイングしきい値のためにデッドロック状態になった場合は、キューイングしきい値の値を増やしてください。 ワークロード・マネージャーのアドミッション制御によって制御されるリソースをアプリケーションが待機しているためにデッドロック状態になった場合は、アプリケーションの最後のステートメントが実行されたサービス・クラス用のリソースの共有を増やしてください。 ワークロード・マネージャーのアドミッション制御によって制御されるリソースに関係するデッドロックを防ぐには、不要になった SQL カーソルをクローズすることで、アプリケーション内で同時に実行する SQL ステートメントの数を減らしてください。 sqlcode: -911 sqlstate: 40001 |
SQL0912N |
データベースに対するロック要求の最大値に達しました。 理由コード = reason-code | ロック要求のためのメモリーが十分でないため、データベースのロックの最大数に達しました。 理由コードは、制限に達したメモリーのタイプを示しています。
ステートメントは処理できません。 |
アプリケーションは、他の SQL ステートメントの サブミットを行う前に、COMMIT または ROLLBACK ステートメントの サブミットを行う必要があります。 理由コードで示されているデータベース構成パラメーターの値を増やして、より多くのロック要求をサポートするようにします。
sqlcode: -912 sqlstate: 57011 |
SQL0913N |
分散トランザクションの実行がデッドロックまたはタイムアウトによって失敗しました。 理由コード reason-code。 | 分散トランザクションで発行された要求は、オブジェクトの使用の未解決の競合に関係していたため、実行は失敗しました。 理由コードは以下のとおりです。
このメッセージのテキストとランタイム・トークンは、データベース・サーバーまたはクライアントのバージョンおよびプラットフォームによって異なる場合があります。 |
sqlcode: -913 sqlstate: 57033、40001 |
SQL0917N |
パッケージのバインドが失敗しました。 | エラーが発生したため、パッケージを作成できませんでした。 この SQLCODE はバインドまたはコミット処理中に発行できます。 これがコミット処理中に発行された場合は、 データベースに対する変更がすべてロールバックされます。 バインド処理中に発行された場合は、パッケージの作成が失敗するだけであり、 作業論理単位内のその他の変更はコミット可能です。 |
多くの場合、この問題は、 エラーが発生したために 1 つ以上の SQL ステートメントをバインドできなかったことが原因です。 エラーの原因となっているステートメントを特定し、それを訂正してください。 コマンドを再発行して、パッケージを作成してください。 sqlcode: -917 sqlstate: 42969 |
SQL0918N |
アプリケーションがロールバックを実行する必要があります。 | 作業単位がすでにデータベースでロールバックされていますが、この作業単位に関係する他のリソース・マネージャーはロールバックされなかった可能性があります。 このアプリケーションの整合性を確実にするために、アプリケーションがロールバックを実行するまですべての SQL 要求は拒否されます。 |
アプリケーションがロールバックを発行するまで、すべての SQL 要求が 拒否されます。 たとえば、CICS 環境の場合、これは CICS SYNCPOINT ROLLBACK コマンドになります。 sqlcode: -918 sqlstate: 51021 |
SQL0920N |
データベース・クライアント・システムのデータは、他のデータベース・ クライアント・システムからはアクセスできません。 | ワークステーションが、クライアントまたはローカル・クライアントを 持つサーバーとして構成されています。 このシステムで作成されたデータベースは、他のワークステーションとは 共有できません。 関数は処理されません。 |
サーバー・ワークステーションからのみデータを要求してください。 sqlcode: -920 sqlstate: 57019 |
SQL0925N |
アプリケーション実行環境の SQL COMMIT が無効です。 | 以下の場合には、COMMIT を実行できません。
|
以下のいずれかを行って、問題を解決してください。
sqlcode: -925 sqlstate: 2D521 |
SQL0926N |
アプリケーション実行環境の SQL ROLLBACK が無効 | 以下の場合には、ROLLBACK が実行できません。
|
sqlcode: -926 sqlstate: 2D521 |
SQL0930N |
ステートメントを処理するためのストレージが足りません。 | 別のメモリー・ページを必要とする要求がデータベースに 対して行われましたが、データベース・マネージャーが 利用できるページがありません。 ステートメントは処理できません。 |
可能な解決方法は、以下のとおりです。
これらの解決方法を試しても問題が解決されない場合は、このルーチンの定義の変更を考慮する必要がある可能性があります。 sqlcode: -930 sqlstate: 5UA0L、57011 |
SQL0931C |
オペレーティング・システム・ファイル表がオーバーフローしました。 後続の SQL ステートメントは処理されません。 | オペレーティング・システムの制限に達しました。 アプリケーション・プログラムは、これ以上 SQL ステートメントを発行できません。 データベースにはリカバリーが必要であるというマークが付けられ、 このデータベースを使用しているすべてのアプリケーションは、 このデータベースにアクセスできなくなります。 |
データベースを使用しているすべてのアプリケーションを終了してください。 データベースを再始動してください。 この問題の再発を防ぐには、以下のことを実行してください。
sqlcode: -931 sqlstate: 58005 |
SQL0949N |
無効なオペレーティング・システム操作が UTL_FILE モジュール・ルーチンにより試行されました。 オペレーティング・システム・エラー = error-text。 | UTL_FILE モジュール・ルーチンにより試行された操作により、オペレーティング・システムは error-text で示されているエラーを返しました。 |
オペレーティング・システムのエラー・メッセージ情報を参照し、error-text により報告された問題の訂正方法を判別してください。 sqlcode: -949 sqlstate: 58024 |
SQL0950N |
表または索引は、現在使用中のため、ドロップできません。 | オープン・カーソルが現在表または索引を使用している場合は、 DROP TABLE または DROP INDEX ステートメントを発行することができません。 ステートメントは処理できません。 表または索引はドロップされません。 |
必要なカーソルをすべてクローズして、ステートメントの再サブミットを行ってください。 sqlcode: -950 sqlstate: 55006 |
SQL0951N |
オブジェクトオブジェクト名タイプのオブジェクトタイプ現在同じアプリケーション プロセスによって使用されているため、変更できません。 | ロック状態または使用中のオブジェクトに対する ALTER ステートメント、SET INTEGRITY ステートメント、または TRUNCATE ステートメントを発行することはできません。 ステートメントは処理できません。 このオブジェクトは変更されていません。 |
オブジェクト object-name に直接的、または間接的に依存するカーソルをクローズし、 ステートメントを再サブミットしてください。 sqlcode: -951 sqlstate: 55007 |
SQL0952N |
割り込みにより、処理が取り消されました。 | ユーザーが割り込みキー・シーケンスを押した可能性があります。 ステートメントの処理は終了します。 終了が発生する前の変更が、データベースに適用されている可能性がありますが、コミットされません。 また、照会がタイムアウトになったため Call Level Interface (CLI) が割り込みを発行した場合にも、このエラーを受け取る可能性があります。 例えば、アプリケーションが SQLSetStmtAttr() 関数を使って SQL_ATTR_QUERY_TIMEOUT ステートメント属性を非ゼロ値に構成する場合、指定された時間内に SQL ステートメントまたは XQuery 式が完了しなければ、CLI は実行をキャンセルしてアプリケーションに戻るために割り込みを発行します。 フェデレーテッド・システム・ユーザーの場合: この状態はデータ・ソースによっても検出できます。 |
アプリケーションを続行してください。 サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。 照会タイムアウト時に CLI による割り込みの発行を防ぐには、db2cli.ini ファイルで QUERYTIMEOUTINTERVAL=0 を設定することで、照会タイムアウトの動作を無効にすることができます。 照会タイムアウトの動作を無効にすると、デッドロックまたはロック待機のタイムアウト値がサーバーで設定されていない限り、照会は完了するまで実行されます。 sqlcode: -952 sqlstate: 57014 |
SQL0954C |
ステートメントの処理に使用できる十分なストレージが、アプリケーション・ヒープにありません。 | アプリケーションの使用可能メモリーをすべて使いきってしまいました。 ステートメントは処理できません。 |
このメッセージを受け取ったアプリケーションを終了してください。 applheapsz データベース構成パラメーターが AUTOMATIC に設定されている場合、APPL_MEMORY データベース構成設定または INSTANCE_MEMORY データベース・マネージャー構成設定のいずれかを増やす必要があります。 そうでない場合、より多くのアプリケーション・ヒープを使用できるようにするために、applheapsz データベース構成パラメーターを増やしてください。 構成パラメーターを更新する場合、エラー条件が解決されるまで、一度に現行サイズの 10% ずつ構成パラメーターを変更することが推奨されています。 applheapszを変更するには、以下のようなコマンドを入力します。これは、 データベース sample の applheapsz をサイズ 4000 に設定します。
関連したすべての構成パラメーターが AUTOMATIC または COMPUTED に設定された場合、インスタンスのメモリー要求はマシンに構成されているメモリーの容量を超過します。 可能な解決方法には、データベース・ワークロードの削減、接続コンセントレーター・フィーチャーの使用可能化、マシンへのメモリー追加などがあります。 sqlcode: -954 sqlstate: 57011 |
SQL0955C |
このステートメントを処理するためのソート・メモリーを割り振れません。 理由コード = reason-code。 | ソート処理を行うため、データベース・エージェントで使用できる仮想メモリーが不足しています。 理由コードの説明
このステートメントは処理できませんが、他の SQL ステートメントについては処理されることがあります。 |
各理由コードに該当するアクションを実行することにより、このメッセージに対応します。
sqlcode: -955 sqlstate: 57011 |
SQL0956C |
ステートメントの処理に使用できる十分なストレージが、データベース・ヒープにありません。 | データベースの使用可能メモリーをすべて使いきってしまいました。 ステートメントは処理できません。 |
このメッセージを受け取ったアプリケーションを終了してください。 より多くのデータベース・ヒープを使用できるようにするために、dbheap データベース構成パラメーターを増やしてください。 入出力サーバーの数が上限に近い場合は、この数を減らすことも役に立つ可能性があります。 dbheap データベース構成パラメーターが AUTOMATIC に設定されている場合、DATABASE_MEMORY データベース構成設定または INSTANCE_MEMORY データベース・マネージャー構成設定のいずれかを増やす必要があります。 構成パラメーターを更新する場合、エラー条件が解決されるまで、一度に現行サイズの 10% ずつ構成パラメーターを変更することが推奨されています。 dbheap を変更するには、以下のようなコマンドを入力します。これは、 データベース sample の dbheap をサイズ 2400 に設定します。 データベースから切断されているときに dbheap を変更するには、以下のようなコマンドを入力します。 関連したすべての構成パラメーターが AUTOMATIC または COMPUTED に設定された場合、インスタンスのメモリー要求はマシンに構成されているメモリーの容量を超過します。 可能な解決方法には、データベース・ワークロードの削減、接続コンセントレーター・フィーチャーの使用可能化、マシンへのメモリー追加などがあります。 sqlcode: -956 sqlstate: 57011 |
SQL0958C |
開くことができるファイルの最大数に達しました。 | データベースが使用できるファイル・ハンドルの最大数に達しました。 ステートメントは処理できません。 |
データベースのロケーションに許されているオープン・ファイルの最大数に影響を与えるパラメーターを増やしてください。 これには、構成パラメーター ( maxfilop) を増やして、 インスタンスがもっと多くのファイル・ハンドルを使用できるようにすることと、 他のセッションを終了して、使用中のファイル・ハンドルを減らすことが含まれます。 sqlcode: -958 sqlstate: 57009 |
SQL0959C |
ステートメントの処理に使用できる十分なストレージが、 サーバーのコミュニケーション・ヒープにありません。 | サーバーのコミュニケーション・ヒープの使用可能メモリーをすべて使いきってしまいました。 コマンドまたはステートメントは処理できません。 |
このメッセージを受け取ったアプリケーションを終了してください。 サーバー・ワークステーションのデータベース・マネージャー構成ファイルのコミュニケーション・ヒープ ( comheapsz) パラメーターのサイズを増やしてください。 注: このメッセージは、バージョン 2 より前の DB2 リリースにのみ適用されます。 sqlcode: -959 sqlstate: 57011 |
SQL0960C |
最大数のオブジェクトが次の名前または ID を持つ表スペースに作成されました: table-space-list。 | 表スペースでオブジェクトが最大数に達したため、表スペースに新しいオブジェクトを作成できません。 |
オブジェクトまたは表を作成する別の表スペースを指定します。 表スペースを SYSTEM TEMPORARY 表スペースにした場合、同時に使用される一時表が多すぎます。 sqlcode: -960 sqlstate: 57011 |
SQL0964C |
データベースのトランザクション・ログがいっぱいです。 | トランザクション・ログのすべてのスペースを使い切ってしまいました。 2 次ログ・ファイルを持つ循環ログが使用されている場合は、 2 次ログ・ファイルの割り振りと使用が試みられています。 ファイル・システムにスペースがない場合は、2 次ログを使用することができません。 アーカイブ・ログが使用されている場合、 ファイル・システムは、新しいログ・ファイルを収容するためのスペースを提供しません。 このメッセージは、可能なログ・シーケンス番号のほぼすべてをデータベースが使用済みであるために返されることもあります。 データベース・マネージャーは、ログ・シーケンス番号 (LSN) と呼ばれる固有 ID を使用してデータベース・ログ・レコードを識別します。 トランザクションに関連してデータベース・ログを書き込む必要があるたびに、データベースは新しい LSN 値を使用します。 アプリケーションは、データベースでのログ・レコード書き込みを伴うトランザクションを実行することができません。 ステートメントは処理できません。 |
このメッセージ (SQLCODE) を受け取った場合は、 COMMIT または ROLLBACK を実行するか、またはもう一度やり直してください。 データベースが並行アプリケーションで更新されている場合は、もう一度やり直してください。 他のアプリケーションがトランザクションを完了すると、ログ・スペースが解放される場合があります。 もっと頻繁にコミット処理を行ってください。 トランザクションがコミットされていない場合は、そのトランザクションがコミットされたときに、 ログ・スペースが解放される場合があります。 アプリケーションの設計時に、更新トランザクションのコミット時期を考慮して、 ログがフルにならないようにしてください。 デッドロックが発生している場合は、より頻繁にチェックしてください。 これは、データベース構成パラメーター DLCHKTIME を減らせば可能です。 そうすれば、デッドロックを見つけることができ、 すみやかにデッドロックを解決 (ROLLBACK を使って) して、ログ・スペースを解放することができます。 この状態が頻発する場合は、より大きなログ・ファイルを使用できるようにするために、データベース構成パラメーターを増やしてください。 より大きなログ・ファイルは容量を必要としますが、アプリケーションの再試行を減少させます。 より大きなログ・ファイルは、より多くのスペースを必要としますが、 再処理を行うためのアプリケーションの実行を減少させます。 調整が必要になる可能性のあるトランザクション構成パラメーターは、LOGFILSIZ、LOGPRIMARY、LOGSECOND です。 サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。 可能な LSN 値のほぼすべてをデータベースが使用済みであるためにこのメッセージが返された場合は、以下のステップを実行することによって LSN 値をゼロにリセットできます。
sqlcode: -964 sqlstate: 57011 |
SQL0965W |
SQL警告に対応するメッセージテキストがありませんSQLコードこのワークステーションのメッセージ ファイル内。 モジュールから警告が返されました名前オリジナルトークン付きトークンリスト。 | データベース・サーバーがコード SQLCODE をアプリケーションに返しました。 この警告コードは、このワークステーションの DB2 メッセージ・ファイルのメッセージに対応していません。 |
指定された SQLCODEの詳細については、ご使用のデータベース・サーバーの資料を参照してください。 |
SQL0966N |
データベース接続サービス・ディレクトリーに指定されたエラー・マッピング・ファイル name が見つからないか、 またはオープンできません。 | 以下に示す条件の 1 つが成立しています。
エラー・マッピング・データは検索されませんでした。 |
ファイルをオープンしているアプリケーションからファイルを解放するか、 またはオリジナル・ファイルを再インストールまたはリストアしてください。 sqlcode: -966 sqlstate: 57013 |
SQL0967N |
データベース接続サービス・ディレクトリーに指定されたエラー・マッピング・ファイル name のフォーマットが無効です。 | プログラムがエラー・マッピング・ファイルの読み取りを行っていたときに、エラーが発生しました。 エラー・マッピング・データは検索されませんでした。 |
エラー・マッピング・ファイルのすべての構文エラーを訂正してください。 sqlcode: -967 sqlstate: 55031 |
SQL0968C |
ファイル・システムがいっぱいです。 | データベースを持っているファイル・システムのいずれかがいっぱいです。 このファイル・システムには、データベース・ディレクトリー、データベース・ログ・ファイル、 または表スペース・コンテナーが入っている可能性があります。 DB2 pureScale 環境において、データベース・マネージャー・インスタンスにメンバーを追加している場合、付加的なメンバー・ファイルを作成するためのディスク・スペースが不足しています。 ステートメントは処理できません。 |
不要なファイルを消去して、システム・スペースに空きを作ってください。 データベース・ファイルは消去しないでください。 さらにスペースが必要な場合は、不要な表および索引のドロップが必要になる場合があります。 unix ベース・システムでは、カレント・ユーザー ID に許可されている最大ファイル・サイズを超えたために、 このディスク・フル状態になる場合があります。 chuser コマンドを使用して、fsize を更新してください。 リブートが必要になる場合があります。 コンテナーのサイズ変化により、ディスクがフルになった可能性があります。 ファイル・システムに十分なスペースがある場合は、表スペースをドロップしてコンテナーを同じサイズで再作成してください。 処理できないステートメントが LOB データ・タイプを参照した場合:
DB2 pureScale 環境において、不要なファイルを削除してシステム・スペースを解放するか、またはファイル・システムの容量を追加した後、コマンドを再実行してください。 sqlcode: -968 sqlstate: 57011 |
SQL0969N |
このワークステーションのメッセージ・ファイルには、 SQL エラー error に対応するメッセージ・テキストがありません。 モジュールからエラーが返されました名前オリジナルトークン付きトークンリスト。 | データベース・サーバーが SQLCODE error をアプリケーションに返しました。 このエラー・コードは、 このワークステーション上の DB2 メッセージ・ファイルのメッセージに対応していません。 |
指定された SQLCODE については、データベース・サーバーの資料を参照してください。 データベース・サーバーの資料にある指定されたアクションを行い、この問題を修正してください。 フェデレーテッド・システム・ユーザーの場合: 問題を切り分けて要求失敗の原因となったデータ・ソースを突き止めてください。 データ・ソースのマニュアルで error を探してください。 問題がデータに依存する場合は、 エラー発生時にデータ・ソースで処理されていたデータを調べることが必要になるかもしれません。 |
SQL0970N |
システムが、読み取り専用ファイルへの書き込みを試みました。 | データベースによって使用されているファイルが読み取り専用とマークされているか、 または存在しません。 このファイルに対し、データベースには書き込みアクセスが必要です。 ステートメントは処理できません。 |
このメッセージ (SQLCODE) を受け取ったアプリケーションを終了してください。 すべてのデータベース・ファイルが、 読み取りと書き込みの両方のアクセスを許されていることを確認してください。 指定されたファイル名に必要のないブランク・スペースがないかどうか調べてください。 sqlcode: -970 sqlstate: 55009 |
SQL0972N |
データベースのドライブに、正しいディスケットが入っていません。 | ドライブ内のディスケットが、データベース・ディスケットではありません。 ステートメントは処理できません。 |
必要なディスケットをドライブに挿入してください。 そのドライブに存在するデータベースを使用するアプリケーションを始動した場合は、 そのディスケットを取り除かないでください。 sqlcode: -972 sqlstate: 57019 |
SQL0973N |
ステートメントの処理に使用できる十分なストレージが、heap-name ヒープまたはスタックにありません。 | このヒープの使用可能メモリーをすべて使いきってしまいました。 ステートメントは処理できません。 |
このメッセージ (SQLCODE) を受け取ったアプリケーションを終了してください。 heap-name 構成パラメーターを修正して、ヒープ・サイズまたはスタック・サイズを大きくしてください。 heap-name 構成パラメーターが AUTOMATIC に設定されている場合、APPL_MEMORY データベース構成設定、DATABASE_MEMORY データベース構成設定、または INSTANCE_MEMORY データベース・マネージャー構成設定を増やす必要があります。 そうでない場合、heap-name 構成パラメーター値を変更して、ヒープ・サイズを大きくしてください。 パッケージ・キャッシュとカタログ・キャッシュにはソフト・リミットがあります。 そのために、DATABASE_MEMORY データベース構成設定または INSTANCE_MEMORY データベース・マネージャー構成設定を増やす必要があります。 DATABASE_MEMORY データベース構成パラメーターを変更する際、パラメーターを AUTOMATIC に設定すると、データベース・メモリーを自動的に管理するようにデータベース・マネージャーに通知が出されます。 アプリケーション共有ヒープ・サイズの場合、APPL_MEMORY データベース構成設定、または INSTANCE_MEMORY データベース・マネージャー構成設定を増やす必要があります。 構成パラメーターを更新する場合、エラー条件が解決されるまで、一度に現行サイズの 10% ずつ構成パラメーターを変更することが推奨されています。 例えば、heap-name が UTIL_HEAP_SZ であり、データベース名が TORDB1 である場合、このデータベース構成パラメーターを 10000 に更新するには、以下のコマンドを発行してください。 データベース構成パラメーターのリストを表示するには、GET DATABASE CONFIGURATION コマンドを使用してください。 データベース・マネージャー構成パラメーター、つまり MON_HEAP_SZ を新規のサイズ 100 に更新するには、次のコマンドを発行します。 データベース・マネージャー構成パラメーターのリストを表示するには、GET DATABASE MANAGER CONFIGURATION コマンドを使用してください。 関連したすべての構成パラメーターが AUTOMATIC または COMPUTED に設定された場合、インスタンスのメモリー要求はマシンに構成されているメモリーの容量を超過します。 可能な解決方法には、データベース・ワークロードの削減、接続コンセントレーター・フィーチャーの使用可能化、マシンへのメモリー追加などがあります。 sqlcode: -973 sqlstate: 57011 |
SQL0974N |
データベースの入っているドライブが、ロックされています。 | データベースの入ったドライブがロックされていることを、システムが報告しました。 ステートメントは処理できません。 |
ドライブをロックできる他の処理 (たとえば、CHKDSK) が、システムで実行されていないことを確認してください。 操作を再試行してください。 サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。 sqlcode: -974 sqlstate: 57020 |
SQL0975N |
データベースまたはインスタンス name がユーザー username によって静止されているため、 新しいトランザクションを開始できませんでした。 静止タイプ: type | 使用しようとしていたインスタンスまたはデータベースは他のユーザーによって静止されており、 このインスタンスまたはデータベースが静止状態でなくなるまで、 新規トランザクションは許可されません。 静止タイプ type は、すでに静止されているインスタンスまたはデータベースを参照しています。 '1' がインスタンスで、'2' がデータベースです。 |
インスタンスまたはデータベースを現在静止しているユーザーに連絡して、 インスタンスまたはデータベースが静止から解放される時期を尋ね、解放されたときに要求を再試行してください。 sqlcode: -975 sqlstate: 57046 |
SQL0976N |
指定された入出力装置の準備ができていません。 | 入出力装置またはメディアは入出力コマンドを受け入れる準備ができていません。 ステートメントは処理できません。 ユーザー応答: 入出力装置またはメディアの準備ができていることを確認し、操作を再試行してください。 |
sqlcode: -976 sqlstate: 57021 |
SQL0977N |
COMMIT 状態が不明です。 | tm_database が、 COMMIT 処理中に使用できなくなったため、COMMIT の結果が不明になりました。 データベースの再同期化が、 tm_database が使用できるようになったときに発生します。 再同期化中に、トランザクションがロールバックされる場合があることに注意してください。 これ以降の SQL ステートメントの実行は安全に行われますが、ロックは、 再同期処理が完了するまで保持されます。 |
たとえば、CLP を使用して、 tm_database に対する接続が可能なことを確認してください。 接続できない場合は、返された SQLCODE に必要なアクションにしたがって、 接続が確立できることを確認してください。 sqlcode: -977 sqlstate: 40003 |
SQL0978N |
ストレージ・メディアが書き込み保護になっています。 | 書き込み操作がデータベースに対して試みられましたが、データベースのストレージ・メディアが書き込み保護になっています。 ステートメントは処理できません。 |
正しいストレージ・メディアを使用していることを確認してください。 必要に応じて、ストレージ・メディアから書き込み保護を取り除いてください。 sqlcode: -978 sqlstate: 55009 |
SQL0979N |
NONE の SYNCPOINT で実行中のアプリケーション処理の COMMIT が、 num データベースに対して失敗しました。 失敗には、alias/SQLSTATE1、alias/SQLSTATE2、alias/SQLSTATE3、alias/SQLSTATE4 というデータベース別名と SQLSTATE の対 (最大 4 つまで返されます) が含まれます。 | アプリケーションが複数のデータベースに接続されており、COMMIT が発行されましたが、それらの接続の 1 つ以上に対して失敗しました。 フェデレーテッド・システム・ユーザーの場合: 失敗した接続が、ニックネームが使用されているフェデレーテッド・サーバー・データベースである場合、ニックネームに必要なデータ・ソースに対するコミットが失敗します。 |
更新されるアプリケーションとデータの性質に応じて、 アプリケーションが意図した変更が、 すべてのデータベースにわたって整合性を持って反映されていることを確認するために、 これ以上の処理の中止、失敗のログへの記録、 および適切な SQL の発行が必要になる可能性があります。 COMMIT エラーによって影響を受けるデータベースの全リストが返されない場合は、 全リストの診断ログを参照してください。 sqlcode: -979 sqlstate: 40003 |
SQL0980C |
ディスク・エラーが発生しました。 後続の SQL ステートメントは処理されません。 | 現在および後続の SQL ステートメントの正常な実行を妨げるディスク・エラーが発生しました。 アプリケーション・プログラムは、これ以上 SQL ステートメントを発行できません。 たとえば、アプリケーション処理に関連するリカバリー・ルーチンは、 追加の SQL ステートメントを発行できません。 データベースにはリカバリーが必要であるというマークが付けられ、 このデータベースを使用しているすべてのアプリケーションは、 このデータベースにアクセスできなくなります。 ステートメントは処理できません。 |
可能であれば、SQLCA からすべてのエラー情報を記録してください。 データベースを使用しているすべてのアプリケーションを終了してください。 エラーがハードウェア・エラーかどうかを判断してください。 データベースを再始動してください。 リカバリーが不可能な場合には、バックアップ・コピーからデータベースをリストアしてください。 サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。 sqlcode: -980 sqlstate: 58005 |
SQL0982N |
ディスク・エラーが発生しました。 ただし、後続の SQL ステートメントは処理できます。 | 一時システム・ファイルの処理中に、 現在の SQL ステートメントの正常な実行を妨げるディスク・エラーが発生しました。 ただし、後続の SQL ステートメントは処理できます。 ステートメントは処理できません。 |
このメッセージ (SQLCODE) を受け取ったアプリケーションを終了してください。 sqlcode: -982 sqlstate: 58004 |
SQL0983N |
このトランザクション・ログは、現在のデータベースにはありません。 | ログ・ファイルに格納されているシグニチャーが、データベースの従属シグニチャーと一致しません。 通常このエラーは、 データベースが格納されているディレクトリーとは異なるディレクトリーに格納されているログ・ファイルを指定したときに発生します。 ファイルのリダイレクトが行われた可能性があります。 ステートメントは処理できません。 |
ログ・ファイルに対する適切なアクセスを持つコマンドを再サブミットしてください。 sqlcode: -983 sqlstate: 57036 |
SQL0984C |
COMMIT または ROLLBACK が失敗しました。 後続の SQL ステートメントは処理されません。 | システム・エラーのために、コミットまたはロールバック処理が正常に処理できませんでした。 アプリケーション・プログラムは、これ以上 SQL ステートメントを発行できません。 たとえば、アプリケーション処理に関連するリカバリー・ルーチンは、 追加の SQL ステートメントを発行しない可能性があります。 データベースにはリカバリーが必要であるというマークが付けられ、 このデータベースを使用しているすべてのアプリケーションは、 このデータベースにアクセスできなくなります。 ステートメントは処理できません。 |
メッセージ番号 (SQLCODE)、および可能であれば、 すべての SQLCA エラー情報を記録してください。 データベースを使用しているすべてのアプリケーションを終了してください。 データベースを再始動してください。 サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。 リカバリーが不可能な場合には、バックアップ・コピーからデータベースをリストアしてください。 トレースがアクティブな場合は、オペレーティング・システムのコマンド・プロンプトから、 独立トレース機能を呼び出してください。 技術サービス担当者に以下の情報を報告してください。 必須情報:
フェデレーテッド・システム・ユーザーの場合: 問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースで必要な診断手順およびデータベース・リカバリー手順を実行してください。 データ・ソースの問題判別手順とデータベース・リカバリー手順はそれぞれ違うので、該当するデータ・ソース・リファレンスのマニュアルを参照してください。 sqlcode: -984 sqlstate: 58005 |
SQL0985C |
データベース・カタログの処理中に、ファイル・エラーが発生しました。 データベースは使用できません。 | システムが、カタログ・ファイル入出力エラーをリカバリーできません。 システムは、データベースを使用するステートメントを処理できません。 |
バックアップ・コピーからデータベースをリストアしてください。 サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。 sqlcode: -985 sqlstate: 58005 |
SQL0986N |
ユーザーの表の処理中に、ファイル・エラーが発生しました。 表は使用できません。 | 表のデータは有効ではありません。 システムは、表を使用するステートメントを処理できません。 |
データベースに不整合がある場合は、 バックアップ・バージョンからデータベースをリストアしてください。 サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。 sqlcode: -986 sqlstate: 58004 |
SQL0987C |
アプリケーション・コントロール共有メモリーのセットの割り振りができません。 | アプリケーション・コントロール共有メモリーのセットの割り振りができません。 このエラーは、操作の試行をしているデータベース・マネージャーまたは環境のいずれかに十分なメモリー・リソースがないため発生します。 この問題の原因となるメモリー・リソースには、以下が含まれます。
|
以下の中から 1 つ以上を行ってください。
sqlcode: -987 sqlstate: 57011 |
SQL0989N |
AFTER トリガー trigger-name が FROM 節内の SQL データ変更ステートメントにより修正される表 table-name の行の修正を試行しました。 | SQL データ変更ステートメントが FROM 節に指定されましたが、SQL データ変更ステートメントのターゲット基本表に同じ表を修正する AFTER トリガーが含まれています。 これは許可されません。 ステートメントは処理できません。 |
FROM 節内の SQL データ変更ステートメントの使用を回避するか、または SQL データ変更ステートメントのターゲットである表を修正しないようにトリガーを変更してください。 sqlcode: -989 sqlstate: 560C3 |
SQL0990C |
索引エラーが発生しました。 表を再編成してください。 | 索引に対するアクティビティーが激しく、索引用のすべてのフリー・スペースを使いきりました。 フェデレーテッド・システム・ユーザーの場合: この状態はデータ・ソースによっても検出できます。 ステートメントは処理できません。 |
行った作業をコミットして、コマンドを再発行してください。 エラーが続く場合は、作業をロールバックしてください。 さらにエラーが続く場合は、可能であれば、表を再編成してください。 フェデレーテッド・システム・ユーザーの場合: 問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースの索引再作成手順に従ってください。 |
SQL0992C |
プリコンパイルされたプログラムのリリース番号が無効です。 | プリコンパイルされたプログラム (パッケージ) のリリース番号に、 インストールされているバージョンのデータベース・マネージャーのリリース番号との互換性がありません。 プリコンパイルされたプログラム (package) は、 現行バージョンのデータベース・マネージャーでは使用できません。 コマンドは処理されません。 |
互換リリース・レベルのデータベース・マネージャーでプリコンパイルされたプログラムのみを使用してください。 sqlcode: -992 sqlstate: 51008 |
SQL0993W |
データベース構成ファイルのログへの新しいパス (newlogpath) が無効です。 | ログ・ファイルへのパスが、以下のいずれかの理由により無効です。
要求された変更は実行されません。 |
ログ・ファイルへのパスを変更するには、有効な値を持つデータベース構成コマンドをサブミットしてください。 sqlcode: +993 sqlstate: 01562 |
SQL0994N |
アプリケーションのセーブポイントの使い方が無効です。 | アプリケーション・セーブポイント関数の使用法に矛盾があります。 プログラムが、以下のいずれかを実行しようとしました。
関数は処理されません。 |
プログラムのセーブポイントの使い方を訂正してください。 |
SQL0995W |
ログ・ファイルへの現行パス (logpath) が無効です。 ログ・ファイル・パスはデフォルトにリセットされました。 | ログ・ファイルへのパスが、以下のいずれかの理由により無効です。
循環ロギングの場合は、ログ・ファイルがデフォルト・ログ・パスに作成されます。 アーカイブ・ログの場合は、次のログ・ファイルがデフォルト・ログ・パスに作成されます。 要求された変更は実行されません。 |
ログ・ファイルへのパスを変更するには、有効な値を持つ構成コマンドをサブミットしてください。 sqlcode: +995 sqlstate: 01563 |
SQL0996N |
表スペースのオブジェクト用のページを解放できません。 | 表スペース内に壊れた内部データベース・ページ、または内部論理エラーがあります。 |
オブジェクトまたは表スペースの使用を続けないでください。 オブジェクトおよび表スペースを調べるために、IBM サービスに連絡してください。 sqlcode: -996 sqlstate: 58035 |
SQL0997W |
トランザクション処理に関する一般情報メッセージです。 理由コード = XA-reason-code | SQLCODE 997 は、データベース・マネージャーのコンポーネント間でのみ渡され、
アプリケーションへは戻されません。 エラー以外の状況については、XA 戻りコードを伝達するために使用されます。 理由コードには、以下のものがあります。
|
アクションは不要です。 |
SQL0998N |
トランザクションまたはヒューリスティック処理中に、エラーが発生しました。 理由コード = reason-code。 サブコード = subcode。 | 分散トランザクションを処理している時にエラーが検出されました。 トランザクションは以下のとおりです。
可能性のある理由コード (対応する X/Open XA 理由コードが括弧内に示されます) は、 以下のとおりです。
|
理由コード 1 から 8 については、SQLCA が呼び出し元に戻されない場合があるので、 システム・ログに項目が作成されます。 エラーの原因が、ニックネームに関連する、障害が発生したデータ・ソースである場合は、 障害が発生したデータ・ソースのロケーションは必ずフェデレーテッド・サーバーのシステム・ログに表示されます。 理由コード 4 については、xa open ストリングの内容を調べて、必要な修正を行ってください。 理由コード 4、サブコード 11 の場合、xa_config ファイルが $SYBASE/$SYBASE_OCS ディレクトリー内に 存在しており、NODE サーバー・オプションとして指定されている LRM 名がファイル内に存在していることを確認してください。 理由コード 9、サブコード 02 については、tp_mon_name 構成パラメーターに、 トランザクションの動的登録に使用される ax_reg() 関数を持つ外部製品の動的ライブラリーの名前が入っていることを確認してください。 理由コード 14 については、MSDTC サービスがアクティブであることを確認してください。 理由コード 15 については、このエラーは MSDTC トランザクションのタイムアウト値が小さすぎる場合に発生することがあります。 タイムアウトの値をもっと大きくして、 エラーが引き続き発生するかどうかを調べてください。 理由コード 16 の場合:
理由コード 35 については、 グローバル・トランザクションの読み取り専用リソース・マネージャーとしてのみ関連するデータベースに対して、 ヒューリスティックな操作の実行が試みられました。 例は MVS 上の DB2 などの DRDA データベースです。 これらのタイプの非 XA データベースは、XA 未確定トランザクションを持つことができません。 理由コード 36、37、38 については、 未確定トランザクションで無効なヒューリスティック操作の実行が試みられました。 間違った XID を指定したか、 あるいはこの XID が記録された後でヒューリスティック処理または再同期処理が実行された可能性があります。 まだヒューリスティック処理を実行する必要があるかどうかを確認するには、 ヒューリスティック照会要求を実行して、未確定トランザクションの現在のリストを入手してください。 理由コード 39 の場合、 2 フェーズ・コミットが始まるのを待っている終了済みトランザクションに対して、 XID が指定されました。 2 フェーズ・コミット処理が開始され、未確定トランザクションとなったトランザクションにのみ、 ヒューリスティック処理を実行できます。 理由コード 40 については、失敗したトランザクションの下で、SQL ステートメントが試みられました。 これの例は、トランザクションに関連する密結合スレッドが異常終了した後で、 正常に登録されている同じトランザクション・スレッドで SQL ステートメントを試みることです。 理由コード 41 の場合、管理通知ログでこの問題に関する詳細情報を調べてください。 失敗したノードで、データベース・マネージャーを再始動する必要があります。 システム管理者に連絡して援助を求める必要がある場合があります。 理由コード 42 の場合、 ゲートウェイ・カタログを変更して TCP/IP 通信プロトコルを使用できるようにすると、 アウトバウンド接続を確立できます。 理由コード 43 については、DB2 for z/OS サーバーまたは DB2 for i サーバーに接続する場合、DB2 Connect を使用してデータベースをカタログし、同期点マネージャーを開始してください。 理由コード 69 については、トランザクション・マネージャー (TM) データベース、 リソース・マネージャー (RM) データベース、 またはその両方が、未確定トランザクションが発生したときのデータベースとは異なります。 換言すれば、TM データベースまたは RM データベースの名前は異なるデータベースのインスタンスを参照することができます。 ログ ID 不一致は、以下の理由によって発生する可能性があります。
理由コード 85 の場合、ユーザーが複数のデータ・ソースを更新中に、 いくつかのデータ・ソースがヒューリスティックにロールバック、またはコミットされ、 その結果、トランザクションは部分的にコミットされ、ロールバックされます。 この理由コードでは、データは矛盾した状態です。 トランザクションで更新されたデータ・ソースをすべて手動でチェックし、データを訂正する必要があります。 理由コード 210 の場合、すでにコミット状態であるノードがあります。 未確定トランザクションを解決するには、ヒューリスティック・コミットを実行する必要があります。 理由コード 221 の場合、同じ XA トランザクションに関係するアプリケーションがすべて、データベースに接続するために同じユーザー ID を使用していることを確認してください。 理由コード 222 の場合、同じ XA トランザクションに関係するアプリケーションがすべて、同じ CCSID を持っていることを確認してください。 理由コード 223 の場合、ローカル・クライアントを使用するよう、またリモート・クライアントについては、ゲートウェイに接続するために通信プロトコルとして TCPIP を使用するようアプリケーションおよび クライアント・セットアップを変更してください。 理由コード 224 の場合、クライアントを 7.1 またはそれ以降のバージョンに更新してください。 理由コード 225 の場合、 アプリケーションに XA 疎結合トランザクションで無効な操作が含まれていないことを確認してください。 XA 疎結合トランザクションを使用できる共通アプリケーション・サーバー環境は、 IBM Encina Transaction Server、 IBM WebSphere Application Server、Microsoft Transaction Server、および BEA Tuxedo です。 この理由コードが検出された場合は、使用するアプリケーションを検討し、示されたいずれのアクションも実行されていないことを確認してください。 理由コード 226 の場合、トランザクションがロールバック状態に到達し、 このノード上でロールバックをしています。 理由コード 227 の場合、コーディネーター・ノード上でヒューリスティック要求を実行して、db2diag ログ・ファイルでコーディネーター・ノード番号を確認してください。 理由コード 228 の場合、この要求を出す前に、カーソルがクローズしていることを確認してください。 理由コード 229 の場合、この要求を出す前に、トランザクションが完了していることを確認してください。 理由コード 230 の場合、トランザクションはすでにコミットされています。 一般情報を収集する手順は、以下のとおりです。 理由コードで識別された問題が解決できない場合は、 メッセージ番号 (SQLCODE)、理由コード、およびメッセージのオプションのサブコードまたはシステム・ログ内の SQLCA を記録してください。 障害の原因がフェデレーテッド・データベースである場合、 フェデレーテッド・サーバーのシステム・ログで見つかる、 障害が発生したデータ・ソースのロケーションも記録する必要があります。 トレースがアクティブな場合は、オペレーティング・システムのコマンド・プロンプトから、 独立トレース機能を呼び出してください。 その後で、技術サービス担当者に以下の情報を知らせてください。
コンソール、 あるいはトランザクション・マネージャーおよびデータベース・マネージャーのメッセージ・ログにも、 追加情報がある可能性があります。 sqlcode: -998 sqlstate: 58005 |