Oracle CREATE DIRECTORYでディレクトリオブジェクトを使用
PL/SQLでUTL_FILE()なんかを使う場合に便利なディレクトリオブジェクト
CREATE DIRECTORY オブジェクト名 AS '/path/to/foo/bar'; GRANT READ ON DIRECTORY オブジェクト名 TO ユーザ名; GRANT WRITE ON DIRECTORY オブジェクト名 TO ユーザ名;
こうしておくと「オブジェクト名」でアクセスできる。
CREATE OR REPLACE PROCEDURE FOO_BAR AS vHandle UTL_FILE.FILE_TYPE; BEGIN vHandle := UTL_FILE.FOPEN('オブジェクト名(大文字)', 'foo.txt', 'a'); .... END; /
大文字ってのがミソ。
参考は以下。
Oracleでディレクトリ・オブジェクトの作成・削除・確認
UTL_FILEの使い方 (CREATE DIRECTORY 編)