UTL_FILE モジュール
UTL_FILE モジュールは、データベース・サーバーのファイル・システム上のファイルとの間で 読み取りおよび書き込みを行うための一連のルーチンを提供します。
このモジュールのスキーマは SYSIBMADM です。
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 では、
例外
と呼ばれます) が示されています。
| 条件名 | 説明 |
|---|---|
| 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')@。