ORA-06502: PL/SQL: numeric or value error on dbms_backup_restore.searchfiles debuging

Sagi

Member
Hi to dear Support team, I have the following problem in PL/QSL developer.

I made a function listed bellow is SYS schema.
I granted execute privilege to user to use this function.
The user execute this function from his schema in the package's procedure he owns ( called LOAD_DATA )
The function runs perfect and I have no problems with this, BUT !
When he tries to debug procedure LOAD_DATA, he get's this error:
" ORA-06502: PL/SQL: numeric or value error: character to number conversion error ";
The execution fails on the row: sys.dbms_backup_restore.searchfiles(pattern, ns);

The exception occurs only when debuging, not running the procedure LOAD_DATA.
It mustn't happen, it's some kind of bug.
I've asked for help in www.experts-exchange.com and guys told me that it's most likely a bug in PL/SQL developer.
Also I found this:http://forums.oracle.com/forums/thread.jspa?threadID=662413
They have similar problem, and they say that it works fine in TOD, but not in PL/SQL developer.

Please help me !!!
I just must to be able to debug !!!
Thank you !!
---------------------------------------------------
CREATE OR REPLACE FUNCTION SYS.ud_get_files_list(i_path IN VARCHAR2,i_ext IN VARCHAR2 := NULL, i_file_separator IN VARCHAR2 := '/')
RETURN dbms_utility.lname_array
IS
/******************************************************************************
NAME: ud_get_files_list
PURPOSE:

REVISIONS:
Ver Date Author Description
--------- ---------- --------------- ------------------------------------
1.0 07/02/2007 Sasha 1. Created this function.

******************************************************************************/
pattern VARCHAR2(1024) := i_path||i_file_separator;
ns VARCHAR2(1024);
v_ret_tab dbms_utility.lname_array;
BEGIN
sys.dbms_backup_restore.searchfiles(pattern, ns);
FOR each_file IN (SELECT fname_krbmsft AS name FROM x$krbmsft) LOOP
IF UPPER(SUBSTR(each_file.name,1,(INSTR(each_file.name,i_file_separator,-1) - 1))) = UPPER(i_path)
AND
(i_ext IS NULL
OR
UPPER(i_ext) = UPPER(SUBSTR(each_file.name,INSTR(each_file.name,'.',-1) + 1))) THEN
v_ret_tab(v_ret_tab.COUNT + 1) := each_file.name;
END IF;
END LOOP;
RETURN v_ret_tab;
END ud_get_files_list;
 
Last edited:
To obtain some more diagnostic information, can you modify the shortcut and add the debugsql parameter? For example:

"C:\Program Files\PLSQL Developer\plsqldev.exe" debugsql

Reproduce the problem and send me the debug.txt file that is generated in the PL/SQL Developer directory.
 
Hi Marko, I've sent you a file with debug information to your mail: support@allroundautomations.com

Sagi
 
Back
Top