Dear all master in this maillist
Saya ada masalah ketika create text file dengan perintah utl file.
File yang akan saya buat panjang per row nya adalah 1500 karakter.
Tetapi saya selalu masuk ke exception file write error.
Apakah ada batasan file per row untuk perintah itl file ini. Saya coba hanya
maksimal 1022 karakter yang masuk.
Terima kasih atas bantuannya
Regards,
W. Mulyawan
Terlampir script yang saya jalankan
declare
-- Local variables here
-- Test statements here
DirLoc VARCHAR2(30) := 'ORALOAD';
ctl_file VARCHAR2(500);
dat_file VARCHAR2(500);
log_file VARCHAR2(500);
bad_file VARCHAR2(500);
str1 varchar2(1500);
DayFile utl_file.file_type;
LogFile utl_file.file_type;
vErrMsg varchar2(500);
vMessage varchar2(500);
BEGIN
DayFile := utl_file.fopen(DirLoc, 'saraf1.ksh','W');
str1 := rpad('satu',500,' ');
utl_file.put_line(DayFile, str1);
str1 := rpad('dua',500,' ');
utl_file.put_line(DayFile, str1);
utl_file.put(DayFile,'123456789012345678901234567890123456789012345678901234
5678901234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890123456
7890123456789012345678901234567890123456789012345678901234567890123456789012
3456789012345678901234567890123456789012345678901234567890123456789012345678
9012345678901234567890123456789012345678901234567890123456789012345678901234
567890123456789012345678901234567890123456789012345678901234567890');
utl_file.put(DayFile,'123456789012345678901234567890123456789012345678901234
5678901234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890123456
7890123456789012345678901234567890123456789012345678901234567890123456789012
3456789012345678901234567890123456789012345678901234567890123456789012345678
9012345678901234567890123456789012345678901234567890123456789012345678901234
567890123456789012345678901234567890123456789012345678901234567890');
str1 := lpad('dua',500,' ');
utl_file.put_line(DayFile, str1);
--utl_file.put_line(DayFile,'12345678901234567890123456789012345678901234567
8901234567890123456789012345678901234567890123456789012345678901234567890123
4567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345
6789012345678901234567890123456789012345678901234567890123456789012345678901
2345678901234567890123456789012345678901234567890123456789012345678901234567
8901234567890123456789012345678901234567890123456789012345678901234567890');
--utl_file.put_line(DayFile,'');
utl_file.fclose(DayFile);
EXCEPTION
WHEN utl_file.invalid_mode THEN
vErrMsg := SQLERRM;
vMessage := vErrMsg || '-20051, Invalid Option';
dbms_output.put_line(vmessage);
utl_file.fclose(DayFile);
WHEN utl_file.invalid_path THEN
vErrMsg := SQLERRM;
vMessage := vErrMsg || '-20052, Invalid Path';
dbms_output.put_line(vmessage);
utl_file.fclose(DayFile);
WHEN utl_file.invalid_filehandle THEN
vErrMsg := SQLERRM;
vMessage := vErrMsg || '-20053, Invalid Filehandle';
dbms_output.put_line(vmessage);
utl_file.fclose(DayFile);
WHEN utl_file.invalid_operation THEN
vErrMsg := SQLERRM;
vMessage := vErrMsg || '-20054, Invalid Operation';
dbms_output.put_line(vmessage);
utl_file.fclose(DayFile);
WHEN utl_file.read_error THEN
vErrMsg := SQLERRM;
vMessage := vErrMsg || '-20055, Read Error';
dbms_output.put_line(vmessage);
utl_file.fclose(DayFile);
WHEN utl_file.write_error THEN
vErrMsg := SQLERRM;
vMessage := vErrMsg || '-20056, Write Error';
dbms_output.put_line(vmessage);
utl_file.fclose(DayFile);
WHEN utl_file.internal_error THEN
vErrMsg := SQLERRM;
vMessage := vErrMsg || '-20057, Internal Error';
dbms_output.put_line(vmessage);
utl_file.fclose(DayFile);
WHEN OTHERS THEN
vErrMsg := SQLERRM;
vMessage := vErrMsg || vErrMsg;
utl_file.fclose(DayFile);
end;
[Non-text portions of this message have been removed]