Mi sembra mancanza di privilegi. Spesso PUBLIC
l'utente ha EXECUTE
privilegio concesso su quel pacchetto, ma il privilegio può essere revocato.
Puoi controllare se PUBLIC
dispone di tale privilegio emettendo la seguente query:
SELECT * FROM all_tab_privs WHERE grantee = 'PUBLIC' AND table_name = 'UTL_FILE';
Se non vengono restituite righe, prova a concedere il privilegio di esecuzione all'utente con cui sei registrato oa PUBLIC
, come un utente privilegiato, ad esempio SYS
:
GRANT EXECUTE ON SYS.utl_file TO user_name;
Modifica
Devi concedere il privilegio mentre sei registrato come, ad esempio, SYS
utente.