前ページへ通信 Fileshare サーバのメッセージ次ページへ

第 9 章 エラー処理

Fileshare エラーメッセージの一覧は、 『Fileshare サーバのメッセージ』 の章に掲載されています。

この章では、次の内容の詳細を説明します。

9.1 COBOL ランタイムエラー

状態コード
説明
9/037 アクセスが拒否されました。Fileshare では、通常のエラー原因以外に、次の場合にもこのエラーを返します。
  • Fileshare パスワードセキュリティがアクティブであり、Fileshare サーバに渡されたユーザ ID とパスワードのどちらか一方または両方が無効である場合。

  • Fileshare クライアントが特定のデータファイルへアクセスしようとしたが拒否された場合。

詳細については、 『セキュリティ』 の章を参照してください。

9/100 アクティブなトランザクション処理で使用するデータファイルで、CLOSE 操作が試行されました。 詳細については、 『データベースの一貫性』 の章の 『トランザクション処理』 の項を参照してください。
9/124 Fileshare クライアントと Fileshare サーバの間で通信エラーが発生しました。エラー原因を判断するには、 fs_status を呼び出します。この呼び出しの詳細については、 『通信エラー』 の項を参照してください。
9/125 次の条件のどれかにより発生しました。
  • トランザクションまたはレコードロックがタイムアウトになった (『データベースの一貫性』 の章の 『自動レコードロックのタイムアウト』 の項を参照してください)。

  • Fileshare クライアントが Fileshare サーバから強制的にログオフされた。

  • Micro Focus ファイルハンドラインターフェイスの使用中に、 ファイルハンドラリダイレクタモジュール への呼び出しで渡された Fileshare セッション ID が無効だった。オフセット 79 からの FCD の 6 バイトが変更されていないことを確認します。

  • このオープンファイルに対する前回のアクセス結果として、9/124 のエラー状態が返されたため、それ以上の操作が不能になった。
9/126 入出力操作で使用するレコードサイズが大きく、Fileshare サーバで処理できませんでした。 『構成』 の章の 『サーバの構成』 の項で /m オプションの説明を参照してください。
9/173 仮想ファイルインターフェイスの使用中に、データベース参照ファイルで指定されたプログラム名が見つかませんでした。『高度な操作』 の章の 『仮想ファイルハンドラインターフェイス』 の項を参照してください。

9.2 通信エラー

入出力操作でのエラー状態 9/124 は、Fileshare クライアントと Fileshare サーバの間で通信エラーが発生したことを示します。

エラー 9/124 が最もよく発生するのは、プログラムが最初に入出力要求を出すときです。 つまり、Fileshare クライアントが Fileshare サーバに連絡しようとする時点です。 Fileshare クライアントが Fileshare サーバに接続できないと、エラー 9/124 が返されます。 このエラーが返された場合は、Fileshare の構成を調べて、次の点を確認してください。

Fileshare サーバ側でトレースが有効化されている場合に、 正しく接続し 、Fileshare クライアントからの要求に Fileshare サーバがサービスするようになると、要求が表示されます 。 詳細は、 『高度な操作』 の章の 『Fileshare のモニタ』 の項を参照してください 。 これ以降に通信エラーが起きると、 エラーコード 9/124 がプログラムに返されます。これは致命的なエラーで、Fileshare クライアントとサーバとの接続が 解除 されます。そのエラー原因を判断するには、 ファイルハンドラリダイレクタ モジュールの入口点、 fs_status を、以下の形式で呼び出してください。

call "fs_status" returning cci-status

この場合のパラメータは、次のように定義します。

01  cci-status  pic x(2) comp-x.

この呼び出しが終了すると、CCI モジュールから ファイルハンドラリダイレクタモジュール に返された CCI エラーコードが cci-status に格納されます。 CCI エラーコードの詳細については、オンラインブック、 『Configuring CCI』 を参照してください。

エラー 9/124 が返された場合は、さらに以下の形式で呼び出しを行って、詳細なエラーメッセージを 入手 することができます。 このメッセージは、CCI 固有のエラーと補足情報を文字列で表したものです。

call "fs_commserr" using by reference buffer
                         by value maxlen
                         by reference actual-len

この場合のパラメータは、次のように定義します。

01  buffer      pic x(n).
01  maxlen      pic x(4) comp-5 value length of buffer.
01  actual-len  pic x(4) comp-5.

この呼び出しが終了すると、buffer には詳細エラーメッセージが、actual-len にはこのメッセージの長さが含まれます。エラーメッセージの補足説明には、次の情報が含まれます。

さらに、 ファイルハンドラリダイレクタモジュール は fhneterr.log というローカルファイルに通信エラーのログを自動的に記録します。そのログファイルに含まれる各項目の形式は、 fs_commserr 呼び出しの結果返されたバッファと同じです。

アプリケーションで fs_commserr を呼び出せない場合は、fhneterr.log ファイルで、返された 9/124 エラーに関する詳細情報を確認することができます。

このログファイルは、Fileshare クライアントによって削除されることはありません。 しかし、ログファイルの内容が不要な場合は、そのログファイルを削除することもできます。

9.3 トランザクション処理エラー

COMMIT 操作と ROLLBACK 操作は、多くのデータファイルに作用します。そのため、1 つのデータファイルのファイル状態を調べるだけでは、COMMIT 操作や ROLLBACK 操作が正常に実行されたかどうかを確認することはできません。 その代わりに、入口点、 fs_status を呼び出して、COMMIT 操作や ROLLBACK 操作の状態を判断します。

呼び出し形式は、次のとおりです。

call "fs_status" returning t-status

この場合のパラメータは、次のように定義します。

01  t-status  pic x(2) comp-x.

0 以外の値が返された場合は、COMMIT 操作または ROLLBACK 操作が失敗したことを示します。 ネットワークを介した複数のファイルを対象としたトランザクション処理は複雑であるため、Fileshare では、発生したトランザクション処理エラーに関する決定的な情報は提供されません。


Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法で保護されています。

前ページへ通信 Fileshare サーバのメッセージ次ページへ