@634

Oracle PL/SQL - UTIL_FILEパッケージ

Advertisement

UTL_FILE

UTL_FILEパッケージを使用することで、PL/SQL内でファイルの入出力を行うことが出来る。前提条件としてOracleサーバーの初期化パラメータutl_file_dirにファイルのIOを許可するディレクトリを指定しなければならない。

ファイルの読み込み(入力)

以下の手順で読込を行う。

1.ファイルハンドラ変数の宣言
WK_FILE UTL_FILE.FILE_TYPE;

2.ファイルのオープン
WK_FILE := UTL_FILE.FOPEN(ファイルパス, ファイル名, オープンモード);
読み込みを行う場合、ファイルのオープンモードには'R'を指定する

3.ファイルの読み込み
UTL_FILE.GET_LINE(ファイルハンドラ, 読み込みバッファ);
読み込みバッファには文字列変数を指定する。

4.ファイルクローズ
UTL_FILE.FCLOSE(ファイルハンドラ);


サンプルコード
DECLARE
    -- ファイル
    WK_FILE UTL_FILE.FILE_TYPE;
    
    -- 読み込みバッファ
    WK_RECORD VARCHAR2(4000);
    
BEGIN

    -- ファイルオープン
    WK_FILE := UTL_FILE.FOPEN(/data/input/, input.txt, 'R');

    -- 一行読み込み
    UTL_FILE.GET_LINE(WK_FILE,WK_RECORD);
 
    -- ファイルクローズ
    UTL_FILE.FCLOSE(WK_FILE);

END;

ファイルの書き込み(出力)

以下の手順で読込を行う。

1.ファイルハンドラ変数の宣言
WK_FILE UTL_FILE.FILE_TYPE;

2.ファイルのオープン
WK_FILE := UTL_FILE.FOPEN(ファイルパス, ファイル名, オープンモード);
書き込みを行う場合、ファイルのオープンモードには'W'を指定する
追加書き込みを行う場合、ファイルのオープンモードには'A'を指定する

3.ファイルへの出力
UTL_FILE.PUT_LINE(ファイルハンドラ, 出力文字列);

4.ファイルクローズ
UTL_FILE.FCLOSE(ファイルハンドラ);


サンプルコード
DECLARE
    -- ファイルハンドラ
    WK_FILE UTL_FILE.FILE_TYPE;    
BEGIN

    -- ファイルオープン
    WK_FILE := UTL_FILE.FOPEN('/data/out/', 'out.txt', 'W');

    --ファイル出力     
    UTL_FILE.PUT_LINE(WK_FILE, 'TEST');
   
    -- ファイルクローズ
    UTL_FILE.FCLOSE(WK_FILE);

END;

Advertisement

ショートカット

634
このカテゴリのトップページに戻る
634labs
   UIコレクションギャラリー

サイト検索

Google

Web サイト内

Y!ログール