|
スポンサード リンク
ファイルの存在チェックは、UTL_FILEパッケージのFGETATTRを使用します。
UTL_FILE.FGETATTR(ディレクトリオブジェクト名 , ファイル名 , 存在チェック結果 , ファイルサイズ , ブロックサイズ);
|
ファイル存在チェック操作をする前に、チェックするユーザにディレクトリの操作権限を付与する必要があります。
create directory ディレクトリオブジェクト名 as ディレクトリパス;
grant read on directory ディレクトリオブジェクト名 to ユーザ名;
grant write on directory ディレクトリオブジェクト名 to ユーザ名;
|
※UTL_FILE.FGETATTRは、Oracle9iR2から使用可能です。
例1) ユーザー「user01」に存在チェックファイルのディレクトリに権限を付与する
|
create directory TMP as 'c:\temp'; grant read on directory TMP to user01; grant write on directory TMP to user01;
|
例2) 「c:\temp\test.txt」の存在チェックをする。
|
declare
file_chk boolean; file_size number; block_size number;
begin
utl_file.fgetattr('TMP','test.txt',file_chk ,file_size , block_size);
if file_chk then dbms_output.put_line('ファイルが存在します。'); else
dbms_output.put_line('ファイルが存在しません。'); end if;
end;
|
スポンサード リンク
|