-452   UNABLE TO ACCESS THE FILE REFERENCED BY HOST VARIABLE variable-position. REASON CODE: reason-code

説明

Db2® が、指定されたホスト変数から参照されているファイルにアクセスしているとき、またはアクセスしようと試みているときに、エラーが発生しました。
variable-position
ファイルを参照していたホスト変数の位置を、n 番目のホスト変数 (n は値) として示します。
reason-code
エラーの理由を示す数値:
1
ファイル名の長さが無効である場合、パスのフォーマットが無効である場合、または相対パスが指定された場合。
2
ファイル・オプションが無効 (ファイル・オプションは、2、8、16、または 32 でなければならない) であるか、または指定されたファイル・オプションに、 Db2 が実行しようとしている操作との一貫性がありません。 例えば、ファイル・オプション FILE_READ が FETCH SQL ステートメントに指定されている場合など。
3
ファイルが見つからない場合。
4
SQL_FILE_CREATE オプションが既存ファイルと同じ名前のファイルに指定されていました。
7
ファイルに書き出しているときにフル・ディスクが発生しました。
9
ファイルにアクセス中にメディア・エラーが発生しました。
12
Db2 が読み取り、追加、あるいは、再書き込みの操作のためにオープンしようとした HFS ファイルは、正規のファイルではありません。
  • Db2 が読み取り、追加、あるいは、再書き込みの操作のためにオープンしようとした BSAM データ・セットが、物理順次 (PS) あるいは区分編成 (PO) データ・セットではありません。
  • Db2 が読み取り、追加、あるいは、再書き込みの操作のためにオープンしようとした BSAM データ・セットのフォーマットが VB、V、または U ではありません。
  • 区分編成 (PO) のデータ・セットに APPEND オプションが指定されました。
13
Db2 が HFS ファイルまたは BSAM データ・セットを OPEN、READ、WRITE、あるいは CLOSE しようとしたときにエラーが発生した場合、Db2 が要求された操作を実行できなかった理由を示すシステム完了コードがコンソールに表示されます。

ホスト変数の位置が判定できない場合、variable-position は 0 に設定されます。

システムの処置

このステートメントを処理することはできません。

プログラマーの応答

reason-code 値に基づいて、以下のいずれかのアクションを実行します。
1
ファイル名の長さ、ファイル名、ファイル・パスを訂正してください。HFS ファイルに相対パスが使用されている場合は、絶対パスで置き換えてください。
2
アプリケーションのファイル・オプションを訂正してください。
3
ファイルにアクセスを試みる前に、指定されたファイルが存在することを確認してください。
4
ファイルがもう必要ない場合は、それを削除するか、あるいは、現在存在しないファイル名を指定してください。
7
不要なファイルを削除してディスク・スペースを解放するか、あるいは、十分なディスク・スペースのある別のドライブまたはファイル・システムに存在するファイルを指定してください。 また、オペレーティング・システムやユーザーのファイル・サイズ制限に到達していないことも確認してください。 アプリケーションのコード・ページがマルチバイトのコード化スキームを使用している場合、最後の文字の一部分のみが書き込まれることがあります。 ファイルに完全な構造の文字のみが含まれていることを確認してください。
8
ストリングの変換時に起こる拡張を見越して、結果列の最大長を伸ばしておく必要があります。
9
ファイルが読み込まれるメディアのエラーをすべて訂正してください。
12
以下の該当するアクションをとってください。
  • ファイルが HFS ファイルの場合、正規のファイルを参照するようにファイル名を訂正してください。
  • ファイルが BSAM データ・セットの場合、PS データ・セットまたは PO データ・セットを参照するようにファイルを訂正してください。
  • 正しいアクションが含まれるようにファイル操作を訂正してください。
13
システム完了コードに基づいてエラーを訂正してください。

SQLSTATE

428A1