UTL_FILE モジュール

UTL_FILE モジュールは、データベース・サーバーのファイル・システム上のファイルとの間で 読み取りおよび書き込みを行うための一連のルーチンを提供します。

このモジュールのスキーマは SYSIBMADM です。

UTL_FILE モジュールには、以下の組み込みルーチンおよびタイプが含まれています。

表 1. UTL_FILE モジュールで使用可能な組み込みルーチン
ルーチン名 説明
FCLOSE プロシージャー 指定されたファイルをクローズします。
FCLOSE_ALL プロシージャー オープンしているファイルをすべてクローズします。
FCOPY プロシージャー あるファイルから別のファイルへテキストをコピーします。
FFLUSH プロシージャー 書き込まれていないデータをファイルにフラッシュします。
FOPEN 関数 ファイルをオープンします。
FREMOVE プロシージャー ファイルを除去します。
FRENAME プロシージャー ファイルの名前を変更します。
GET_LINE プロシージャー ファイルから行を取得します。
IS_OPEN 関数 指定されたファイルがオープンしているかどうかを判別します。
NEW_LINE プロシージャー 行末文字シーケンスをファイルに書き込みます。
PUT プロシージャー ストリングをファイルに書き込みます。
PUT_LINE プロシージャー 単一の行をファイルに書き込みます。
PUTF プロシージャー 書式制御ストリングをファイルに書き込みます。
UTL_FILE.FILE_TYPE ファイル・ハンドルを保管します。
以下のリストには、アプリケーションが受信できる名前付き条件 (Oracle では、
例外
と呼ばれます) が示されています。
表 2. アプリケーションの 名前付き条件
条件名 説明
access_denied ファイルへのアクセスがオペレーティング・システムによって拒否されました。
charsetmismatch ファイルは、FOPEN_NCHAR を使用してオープンされましたが、 その後の入出力操作が PUTF または GET_LINE などの非文字関数を使用しました。
delete_failed ファイルを削除できません。
file_open ファイルはすでにオープンされています。
internal_error UTL_FILE モジュールの未処理の内部エラー。
invalid_filehandle ファイル・ハンドルは存在しません。
invalid_filename 指定された名前のファイルはパスに存在しません。
invalid_maxlinesize FOPEN の MAX_LINESIZE 値は無効です。 値は 1 から 32672 の範囲でなければなりません。
invalid_mode FOPEN の open_mode 引数は無効です。
invalid_offset FSEEK の ABSOLUTE_OFFSET 引数は無効です。 このパラメーターは、0 より大きく、ファイルの合計バイト数より少なくなければなりません。
invalid_operation ファイルは要求どおりにオープンできなかったか、操作できませんでした。
invalid_path 指定されたパスが存在しないか、データベースに不可視です。
read_error ファイルを読み取れません。
rename_failed ファイルの名前を変更できません。
write_error ファイルに書き込めません。

使用上の注意

ファイル・システム上のディレクトリーを参照するには、 ディレクトリー別名を使用します。 UTL_DIR.CREATE_DIRECTORY または UTL_DIR.CREATE_OR_REPLACE_DIRECTORY プロシージャーを呼び出すことによって、ディレクトリー別名を 作成できます。 例えば、CALL UTL_DIR.CREATE_DIRECTORY('mydir', 'home/user/temp/mydir')@