Oracle データベースからバイトを選択し、それらをイメージ ファイルに変換しようとしています。Oracle プロシージャを作成すると、UTL_FILE.fopen で停止し、ORA-29280 エラーが返されます。Oracle コミュニティによると、このエラーは、OS レベルのユーザーがフォルダーへの書き込み権限を持っていないか、upper_cases を使用する必要があるために発生すると言われています。しかし、提案 1 では、.Net を使用して同じフォルダーにアクセスしようとしましたが、画像ファイルが正常に作成されました。提案 2 では、大文字を使用してみましたが、まだ同じエラーに直面しています。何が問題なのですか?.Net からファイルを作成できるのに oracle からは作成できないのはなぜですか? 以下は私のコードです:
CREATE OR REPLACE PROCEDURE BLOB_UPDATE (file_name in varchar) IS
file_ref UTL_FILE.file_type;
raw_max_size constant number := 32767;
begin
file_ref := UTL_FILE.fopen('C:\LOB', file_name, 'WB', raw_max_size);
-- Here it stops working ! --
....
utl_file.fclose(file_ref);
END BLOB_UPDATE;