各インタフェースの処理において例外事象(エラー)が発生した場合には、復帰情報の領域( C言語の場合は“env”ポインタで指された“MQD_Environment”構造体)にエラー種別とエラー詳細コードが通知されます。
以下に復帰情報の形式を示します。また、表8.28 エラー種別一覧にエラー種別を、表8.29 エラー詳細コード一覧にエラー詳細コードをそれぞれ一覧します。
復帰情報の形式
COBOL言語の場合
WORKING-STORAGE SECTION. 01 MQD-ENVIRONMENT. 02 LEVEL PIC 9(5) COMP-5. … エラー種別 02 RCODE PIC 9(5) COMP-5. … エラー詳細コード |
C言語の場合
typedef struct mqd_environment_t{ MQDLONG level; /* エラー種別 */ MQDLONG code; /* エラー詳細コード */ }MQD_Environment; |
エラー種別 | 意味内容 | |
---|---|---|
値 | マクロ名(注) | |
0 | MQD_SUCCESS | 正常復帰 |
0以外 | MQD_ERROR | 異常復帰 |
注) C言語の場合に有効
エラー詳細コード | 意味内容 | 対処方法 | |
---|---|---|---|
値 | マクロ名(注) | ||
16 | MQD_ERR_ | パラメタの内容に誤りがあります。 | パラメタを確認してください。 |
17 | MQD_ERR_NOENV | MQDのシステム環境がありません。 | MQDのシステム環境を作成してください。 |
クラスタ環境用のMQDシステムを作成する時の、SystemDirectoryの値に誤りがあります。 | クラスタ環境の設定を修正したMQDシステムを再作成した後に、再実行してください。 | ||
18 | MQD_ERR_ | MQDが起動されていません。 | MQDを起動してください。 |
19 | MQD_ERR_ | MQDに接続されていません。 | アプリケーションをMQDに接続してください。 |
20 | MQD_ERR_ | すでにMQDに接続されています。 | MQDへの接続が重複しないようにアプリケーションを修正してください。 |
指定されたメッセージキューは、アプリケーションから使用されているため、削除できません。 | メッセージキューの削除を行う場合は、メッセージキューからの切断を行ってください。 | ||
21 | MQD_ERR_ | プログラムの実行順番が間違っています。 | アプリケーションを修正してください。 |
22 | MQD_ERR_ | メッセージキューに接続されていません。 | アプリケーションをメッセージキューに接続してください。 |
23 | MQD_ERR_ | トランザクション処理中です。 | 当プログラムは、トランザクション処理区間外で実行してください。 |
24 | MQD_ERR_ | ユニット内の最終メッセージの送信または受信が行われていません。 | 当プログラムは、ユニット内の最終メッセージを送信または受信してから実行してください。 |
25 | MQD_ERR_ | ダウンリカバリが完了していません。 | Interstageを起動した後、再実行してください。 |
26 | MQD_ERR_ | トランザクションの数がトランザクション多重度を超えました。 | MQDを使用するアプリケーションの数を減らしてください。 また、トランザクションの取り消し、メッセージ操作を伴わないトランザクションの終了、メッセージのないメッセージキューへの非同期モードでのメッセージの受信や参照を非常に短い期間に連続して実行すると、本エラーが返ることがあります。そのようなMQD-APIの使い方をしている場合には、アプリケーションを修正してください。 |
27 | MQD_ERR_ | グローバルトランザクション中です。 | グローバルトランザクション配下ではMQDのトランザクション機能を利用しないでください。 |
28 | MQD_ERR_ | トランザクションが開始されていません。 | MQDBEGIN(mqd_begin)を発行してトランザクションを開始してください。 |
29 | MQD_ERR_ | プログラムによって、データベースがデッドロック状態になりました。 | トランザクションを取り消した後、再度同じトランザクションを実行してください。 |
30 | MQD_ERR_ | グローバルトランザクションがロールバックされました。 | グローバルトランザクションを取り消した後、再度同じトランザクションを実行してください。 |
31 | MQD_ERR_ | 他のスレッドですでにメッセージ操作が行われています。 | アプリケーションを修正してください。 |
32 | MQD_ERR_IO | I/Oエラーが発生しました。 | ディスク装置を確認してください。 |
33 | MQD_ERR_ | 実メモリ、スワップ、共有メモリ、メッセージバッファ、トランザクション多重度、トランザクション用管理用ファイル容量のいずれかが不足しています。 | 一時的資源不足の可能性があるので、リトライしてください。その場合には、ユニットまたはトランザクションの先頭からリトライしてください。 リトライしても同様のエラーになる場合には、メモリ領域、MQD環境定義の MessageBufferMaxSize、Max_Size の値を確認してください。 |
34 | MQD_ERR_ | 空きのディスク領域が不足しています。 | 不要なファイルなどを消してディスク領域を確保してください。 |
35 | MQD_ERR_ | 指定された数よりも多くのメッセージキューがあるため、すべてのメッセージキュー名を通知することができません。 | 個数格納域 (C言語の場合はqnum)に通知されたメッセージキューの数を参照し、十分なだけの配列を準備して再実行してください。 |
36 | MQD_ERR_ | MQD内のプロセスの数が多過ぎます。 | MQD内で起動するアプリケーションの数を減らしてください。 また、トランザクションの取り消し、メッセージ操作を伴わないトランザクションの終了、メッセージのないメッセージキューへの非同期モードでのメッセージの受信や参照を非常に短い期間に連続して実行すると、本エラーが返ることがあります。そのようなMQD-APIの使い方をしている場合には、アプリケーションを修正してください。 |
37 | MQD_ERR_ | MQDのシステム環境のファイルへのアクセス権がありません。 | アプリケーションの実行者の権限を確認してください。 |
38 | MQD_ERR_ | メッセージ本体を格納する領域が不足しています。 | メッセージ本体を格納する領域を大きくしてください。 |
運用イベント拡張情報を格納する領域が不足しています。 | 運用イベント拡張情報を格納する領域を大きくしてください。 | ||
39 | MQD_ERR_ | トランザクションファイルの空き容量が不足しています。 | 他のアプリケーションの処理が終了した後、再実行してください。 |
40 | MQD_ERR_ | メッセージ格納域の空き容量が不足しています。 | メッセージの受信側を起動してください。またはメッセージ格納域の容量変更をしてください。 |
41 | MQD_ERR_ | システム資源の制限値に違反しています。 | システム資源の設定値を見直してください。システム資源の設定値については“インストールガイド”を参照してください。 |
48 | MQD_ERR_ | メッセージキュー数の最大に達したため、メッセージキューが作成できません。 | 不要なメッセージキューを削除してください。 |
49 | MQD_ERR_ | 1プロセス内でシステムに接続できるメッセージキューの最大数(4096)に達したため、メッセージキューに接続できません。または、1MQDシステムで同時に接続できるメッセージキューの最大数(65535)に達したため、メッセージキューに接続できません。 | mqd_disconnectq(C言語の場合)または、MQDDISCONNECTQ(COBOL言語の場合)を使用して、不要なメッセージキューから切断してください。 |
50 | MQD_ERR_ | プロセス内でのファイルオープン数が上限に達しました。 | プロセス内でのメッセージキューのシステムへの接続数を減らしてください。 |
51 | MQD_ERR_ | トランザクション機能を使用している場合、一つのトランザクションで扱うことのできるメッセージ数の最大に達したため、メッセージを格納できません。 | トランザクションの単位を変えて、一つのトランザクション内で扱うメッセージ数を少なくしてください。 |
トランザクション機能を使用していない場合、一つのユニットで扱うことのできるメッセージ数の最大に達したため、メッセージを格納できません。 | ユニットの分割単位を変えて、一つのユニット内のメッセージ数を小さくしてください。 | ||
52 | MQD_ERR_ | トランザクション機能を使用している場合、一つのトランザクションで扱うことのできるメッセージ合計サイズの上限に達したため、メッセージを格納できません。 | トランザクションの単位を変えて、一つのトランザクション内で扱うメッセージサイズを小さくしてください。または、MQD環境定義の Transactionセクションの Max_Size を見直した上で、MQD環境を再作成してください。 |
トランザクション機能を使用していない場合、一つのユニットで扱うことのできるメッセージ合計サイズの上限に達したため、メッセージを格納できません。 | ユニットの分割単位を変えて、一つのユニット内のメッセージサイズを小さくしてください。または、MQD環境定義の Transactionセクションの Max_Size を見直した上で、MQD環境を再作成してください。 | ||
64 | MQD_ERR_ | 作成しようとしたメッセージキューはすでに存在します。 | 作成するメッセージキューの名前を変更してください。 |
65 | MQD_ERR_ | MQDにメッセージキューが一つもありません。 | なし。 |
66 | MQD_ERR_ | 指定されたメッセージキューは存在しません。 | メッセージキュー名を確認してください。 |
67 | MQD_ERR_ | 指定されたメッセージはすでに他の利用者から受信または削除されています。カーソルは次のメッセージに位置づけられます。 | なし。 |
68 | MQD_ERR_ | 指定されたメッセージキューにメッセージが存在しません。 | なし。 |
69 | MQD_ERR_ | メッセージ長が最大値を超えています。 | メッセージを複数のメッセージに分割してください。 |
70 | MQD_ERR_ | カーソルがメッセージキューの終端に達しました。 | カーソルの移動を行い、カーソルをメッセージキューの先頭に位置付けてください。またはメッセージキューを一端システムから切断し、再度接続してください。 |
71 | MQD_ERR_ | メッセージキューにメッセージが残っているため、通常モードのメッセージキューの削除ができません。 | 該当メッセージキューの中の全メッセージを削除した後、再実行してください。 |
他のアプリケーションがメッセージ受信中またはメッセージ削除中のため、メッセージの一括削除または強制モードのメッセージキューの削除ができません。 | 他のアプリケーションの処理が終了した後、再実行してください。 | ||
72 | MQD_ERR_ | メッセージキューが送信禁止状態です。 | mqdchgqコマンドを実行してメッセージキューを送信可能状態にしてください。 |
73 | MQD_ERR_ | メッセージキューが受信禁止状態です。 | mqdchgqコマンドを実行してメッセージキューを受信可能状態にしてください。 |
74 | MQD_ERR_ | メッセージキューが使用禁止状態です。 | しばらく待って使用禁止状態が解除されてから再実行してください。使用禁止状態が解除されない場合は、mqdprgmsgコマンドを実行してメッセージキューの使用禁止状態を解除してから、再実行してください。 |
75 | MQD_ERR_ | メッセージキューはすでに使用されています。 | メッセージキューへの接続が重複しないようにアプリケーションを修正してください。 |
76 | MQD_ERR_ | メッセージキューからユニット途中または最後のメッセージを受信または参照することができません。 | メッセージキューが受信禁止状態や使用禁止状態の場合は禁止状態を解除した後、メッセージキューを一端システムから切断し、再度接続してください。 |
80 | MQD_ERR_ | 運用イベントがオープンされていません。 | 運用イベントをオープンしてください。 |
81 | MQD_ERR_ | すでに運用イベントがオープンされています。 | 他の運用イベントアプリケーションの処理が終了した後、再実行してください。 |
82 | MQD_ERR_ | 運用イベントが発生していません。 | なし。 |
83 | MQD_ERR_ | 運用イベントへのハンドルが無効(不正)です。 | mqd_openevent(MQD_OPENEVENT)から通知されたイベントへのハンドルを正しく指定するようにアプリケーションを修正してください。 |
112 | MQD_ERR_ | MQDシステム名が誤っています。 | 正しく指定してください。 |
113 | MQD_ERR_QNAME | メッセージキュー名、または返信キュー名が誤っています。 | 正しく指定してください。省略する場合はNULL文字を指定してください。 |
114 | MQD_ERR_ | メッセージ名が誤っています。 | 正しく指定してください。 |
128 | MQD_ERR_ | メッセージ保証レベルの指定が誤っています。 | 正しく指定してください。 |
129 | MQD_ERR_QUOTA | 最大ディスク容量の指定が誤っています。 | 0を指定してください。 |
130 | MQD_ERR_ | メッセージの最大長の指定が誤っています。 | 正しく指定してください。 |
131 | MQD_ERR_ | プライオリティの指定が誤っています。 | 正しく指定してください。 |
132 | MQD_ERR_ | 最大保存時間の指定が誤っています。 | 0を指定してください。 |
133 | MQD_ERR_ | 送信状態の指定が誤っています。 | 正しく指定してください。 |
134 | MQD_ERR_ | 受信状態の指定が誤っています。 | 正しく指定してください。 |
135 | MQD_ERR_ | メッセージ本体長が誤っています。 | 正しく指定してください。 |
136 | MQD_ERR_ | アクセス権の指定が誤っています。 | 0を指定してください。 |
137 | MQD_ERR_QNUM | メッセージキュー名の個数の指定が誤っています。 | 正しく指定してください。 |
144 | MQD_ERR_ | 削除モードの指定が誤っています。 | 正しく指定してください。 |
145 | MQD_ERR_ | 受信モードの指定が誤っています。 | 正しく指定してください。 |
146 | MQD_ERR_ | 参照モードの指定が誤っています。 | 正しく指定してください。 |
147 | MQD_ERR_ | カーソル情報の指定が誤っています。 | 正しく指定してください。 |
148 | MQD_ERR_ | ユニットフラグの指定が誤っています。 | 正しく指定してください。 |
149 | MQD_ERR_ | 受信中止条件の指定が誤っています。 | 正しく指定してください。 |
150 | MQD_ERR_ | 参照中止条件の指定が誤っています。 | 正しく指定してください。 |
151 | MQD_ERR_ | 運用イベントIDの有効数の指定が誤っています。 | 正しく指定してください。 |
152 | MQD_ERR_ | 運用イベント拡張情報を格納する領域長の指定が誤っています。 | 正しく指定してください。 |
注) C言語の場合に有効