ORA-29285: file write error

在使用Oracle腳本對數據數據進行格式化導出的時候出現下列報錯。

1. 首先檢查寫文件路徑是否給了權限

2. 如果一條數據的數據長度較大,需要修改緩存使得寫文件操作能進行


ORA-29285: file write error

ORA-06512: at "SYS.UTL_FILE", line 140
ORA-06512: at "SYS.UTL_FILE", line 379
ORA-06512: at "SYS.UTL_FILE", line 756
ORA-06512: at "GL_BANK.UXUNDUMP_TXT", line 46

ORA-06512: at line 1



問題關鍵:

    l_output := utl_file.fopen( p_dir, p_filename, 'w' );

修改爲:

    l_output := utl_file.fopen( p_dir, p_filename, 'w' ,32767);

fopen函數在的第四個默認參數的默認值是 1024,即每條數據長度不大於1k,如果數據長度大於1024 即會拋出以上錯誤。

此參數值表示所開闢的數據單元緩存大小  若沒有調用utl_file.new_line( l_output ); 函數結束一條數據的讀取,則所有數據的導出均使用這個緩存。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章