UTL File problem
Posted on
16th Feb 2014 07:03 pm by
admin
Hi
I have a file in certain path with the following permissions (The file is a dummy file without
any contents)--Zero byte file.
Permissions -rw-r--r--
I need to check if the file exist or not irrespective of file permissions,Is it possible.
If the file exist call a pl/sql and delete the file
else
Simply print a message.
I have written the following code but
I am getting the following error.. when file exist with above permisison, it will not call
the pl/sql
====================================
After opening utl file File name is :xx.txt
File exists xx.txt at /gpsescs1/custom/gl/inbound
Invalid operation because File does not exist-29283 ORA-29283: invalid file operation
====================================
If the file is present with rwxrwxrwx it completes normal by calliing the pl/sql
================
if the file is not present in the directory
it shows the following message
Invalid operation because File does not exist-29283 ORA-29283: invalid file operation
ORA-06512: at
"SYS.UTL_FILE", line 488
ORA-29283: invalid file operation
========================
declare
v_data_file UTL_FILE.FILE_TYPE ;
v_location VARCHAR2(250):='/gpsescs1/custom/gl/inbound';
v_file_name VARCHAR2(250):='xx.txt';
v_exists BOOLEAN ;
v_f_len NUMBER ;
v_bsize NUMBER ;
BEGIN
v_data_file := UTL_FILE.FOPEN(v_location,v_file_name,'r');
dbms_output.put_line('After opening utl file File name is :'||v_file_name);
UTL_FILE.fgetattr(v_location, v_file_name, v_exists, v_f_len, v_bsize);
--if file exist then delete the existing file
IF v_exists THEN
dbms_output.put_line('File exists '||v_file_name ||' '||'at '||v_location);
--remove the existing file from the inbound directory if errored out
UTL_FILE.fremove (v_location,
v_file_name
);
--call to plsql
dbms_output.put_line('Deleted the file '||v_file_name ||' '||'at '||v_location);
ELSE
dbms_output.put_line('file does not exist '||v_file_name ||' '||'at '||v_location);
END IF;
UTL_FILE.FCLOSE(v_data_file);
--close the file
EXCEPTION
WHEN utl_file.invalid_mode THEN
dbms_output.put_line('invalid mode'||SQLCODE||' '||SQLERRM);
WHEN utl_file.invalid_path THEN
dbms_output.put_line('invalid path'||SQLCODE||' '||SQLERRM);
WHEN utl_file.invalid_filehandle THEN
dbms_output.put_line('invalid File handle'||SQLCODE||' '||SQLERRM);
WHEN utl_file.invalid_operation THEN
dbms_output.put_line('Invalid operation because File does not exist'||SQLCODE||' '||SQLERRM);
WHEN utl_file.write_error THEN
dbms_output.put_line('invalid write error'||SQLCODE||' '||SQLERRM);
WHEN utl_file.internal_error THEN
dbms_output.put_line('invalid internale error'||SQLCODE||' '||SQLERRM);
WHEN utl_file.file_open THEN
dbms_output.put_line('invalid file open'||SQLCODE||' '||SQLERRM);
WHEN utl_file.invalid_filename THEN
dbms_output.put_line('invalid File name'||SQLCODE||' '||SQLERRM);
WHEN utl_file.access_denied THEN
dbms_output.put_line('invalid access denied' ||SQLCODE||' '||SQLERRM);
WHEN OTHERS THEN
dbms_output.put_line('Exception Occured'||SQLCODE||' '||SQLERRM);
end;
No comments posted yet
Your Answer:
Login to answer
145
8
Other forums
Looking for help on using joining mysql tables and php....
Does anyone have any good links to references on how to pull mysql data, through joining tables and
Rounding a number queried from a database
I know that to display a rounded number you just do echo "round($number)";. But how would
Dealing with code in db query
I am dealing with C code and I need to make sure it is encoded some how to ensure its integrity and
Formatting echo from database
So I have a database that stores First and last names, then echos them back to a website, as of now
please help me in this update statment
hi every one
if I have table and this data in it
id name
10
Page not Loading After Test
Hey All
It seemed that an inlcude statement wasn't working for some reason, so I tried a more
background color imagefill
Hello
I would like to ask you why I see this square in red color just in my local xampp insta
Getting PHP to ammended the selected in option field
Hey Guys
thanks for everyones help so far. This site and its users are oozing awesomness.
Progress bar tracking file downloads
Hey guys, was wondering if there was a way to track how far a file has been downloaded. I know there
first few characters only
hi, does anyone know how to use PHP to take the first few words of a text and limit them? i have see