
質問内容
タイトルの通りなのですが、PL/SQLで別サーバへのファイル書き込みが「ORA-29283: 無効なファイル操作です。」によってエラーになります。
原因や権限設定で他に確認すべきことをご教示お願いいたします。
ソース
処理が終了したことを示すファイルなので、中身は空です。
sql
1 WK_FILENAME := 'complete_' || TO_CHAR(SYSDATE, 'yyyyMMddHHmmss') || '.csv; 2 WK_FILEHANDLE := UTL_FILE.FOPEN( 'target_dir', WK_FILENAME, 'w' ); 3 UTL_FILE.NEW_LINE(WK_FILEHANDLE); 4 UTL_FILE.FCLOSE(WK_FILEHANDLE);
結果
UTL_FILE.FOPENの'target_dir'のパスによって変わります。
CREATE DIRECTORY target_dir AS 'C:/tmp';
→成功する
CREATE DIRECTORY target_dir AS 'L:/output/csv';
→ORA-29283
CREATE DIRECTORY target_dir AS '//10.90.X.XX/output/csv';';
→ORA-29283
上記のように、C直下のローカルディレクトリを指定した時は問題なく実行でき、同じディレクトリに別のパスで指定した場合に権限エラーになります。
※Grantでディレクトリに対しread, write権限を付与しております。
確認したこと
・書き出し先のサーバへエクスプローラーからアクセスできること。
・タスクマネージャーでoracleの実行ユーザを確認するとSYSTEMなので、割当したLドライブへの権限もフルコントロールを設定されていること。
確認したこと
接続元:windows server 2003
接続先:windows server 2016
接続元がDBサーバなのですが、確認はadminユーザで行いました。
PL/SQLは自分の端末のクライアントツールで行なっています。

