トップ 一覧 置換 検索 ヘルプ RSS ログイン

PL/SQLでファイルアクセスの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
http://www.shift-the-oracle.com/plsql/utl_file/utl_file_dir.html

!!初期化パラメータ UTL_FILE_DIR によるファイルアクセス
!初期化パラメータ UTL_FILE_DIR の設定
Oracle 8i 以前の場合、初期化パラメータ・ファイル を編集する。
init[ORACLE_SID].ora を編集する。
 UTL_FILE_DIR='/u05/file_storage/recv_dir','/u05/file_storage/send_dir'

Oracle 9i 以降の場合 サーバー・パラメータ・ファイルを ALTER SYSTEM コマンドで編集する。
 ALTER SYSTEM SET
  UTL_FILE_DIR='/u05/file_storage/recv_dir','/u05/file_storage/send_dir'
 SCOPE = SPFILE ;

UTL_FILE_DIR 初期化パラメータの変更を適用するには Oracle の再起動が必要

設定の確認 ( Oracle 9i 以降であれば V$PARAMETER2 で複数行表示になっていることを確認する)
 SELECT NAME, VALUE FROM V$PARAMETER2 WHERE NAME='utl_file_dir' ;

!!サンプル
 CREATE OR REPLACE PROCEDURE RIVUS.UTL_FILE_DIR_WRITE_SAMPLE
 AS
   vHandle    UTL_FILE.FILE_TYPE;
   vDirname  VARCHAR2(250);
   vFilename  VARCHAR2(250);
   vOutput    VARCHAR2(32767);
 BEGIN
   vDirname := '/u05/file_storage/send_dir';   -- ディレクトリの絶対パス名を書く
   vFilename := 'test.txt';
   vHandle := UTL_FILE.FOPEN(vDirname ,vFilename,'w', 32767);
  
   vOutput := '初期化パラメータ UTL_FILE_DIR 経由でのファイル出力です';
   UTL_FILE.PUT_LINE(vHandle, vOutput);
   UTL_FILE.FCLOSE(vHandle);
 EXCEPTION WHEN OTHERS THEN
   UTL_FILE.FCLOSE_ALL;
   RAISE;
 END;
 /
{{category2 データベース,Oracle}}