前兩天工作上一個需求,需要導出一張表到mif,mid文件,當然這是最主要的環節。
其實函數很簡答,無非是讀寫文件,網上例子很多,我說說我遇到的坑,給大家提個醒,那么好進入正題。
先看個栗子
create or replace directory UTL_FILE_DIR as '/home/oracle/xt';
declare
fhandle utl_file.file_type;
begin
fhandle := utl_file.fopen('UTL_FILE_DIR', 'example.txt', 'W');
utl_file.put_line(fhandle , 'eygle test write one');
utl_file.put_line(fhandle , 'eygle test write two');
UTL_FILE.FFLUSH(fhandle);
utl_file.fclose(fhandle);
end;
栗子很簡單,我就不解釋了,下面說遇到的問題
1.ORA-29283 權限不足
1.書寫有誤
2.文件路徑不存在,即/home/oracle/xt 在服務器上不存在
3.該文件沒有讀寫權限 ,查看是否有權限,更改權限
4.最坑的來了!以上檢查過都沒有問題,但還是會報這個權限問題。那么很有可能就是該服務器的權限問題,剛開始我使用root不行,后來換個其他用戶可以了,讓你同事幫你看看吧。
希望對你有幫助。