Verkar som brist på privilegier för mig. Ofta PUBLIC
användaren har EXECUTE
privilegium beviljat för det paketet, men privilegiet kan återkallas.
Du kan kontrollera om PUBLIC
har den behörigheten genom att utfärda följande fråga:
SELECT * FROM all_tab_privs WHERE grantee = 'PUBLIC' AND table_name = 'UTL_FILE';
Om det inte finns några rader som returneras, försök att ge exekveringsprivilegiet till antingen användaren du är inloggad som eller till PUBLIC
, som någon privilegierad användare, till exempel SYS
:
GRANT EXECUTE ON SYS.utl_file TO user_name;
Redigera
Du måste bevilja privilegiet medan du loggas som till exempel SYS
användare.