Preciso de um help de vocês, porque não sei o que fazer, rsrsrs.
O owner que está rodando o processo, tem acesso ao diretório \USR\TMP\ do banco. Porém eu criei e dei permissão para um novo diretório, segue código abaixo.
CREATE OR REPLACE DIRECTORY CADASTROS AS '\USR\TMP\CADASTROS';
GRANT READ, WRITE ON DIRECTORY CADASTROS TO OWN_BRUIZ;
DECLARE
v_dir VARCHAR2(20) := 'CADASTROS';
v_file UTL_FILE.FILE_TYPE;
v_arq VARCHAR2(20) := 'FUNCIO.TXT';
v_string VARCHAR2(32000);
BEGIN
v_file := UTL_FILE.FOPEN_NCHAR(v_dir, v_arq, 'w',10000);
-- inicio linha 1
v_string := 'ABC';
--v_string := LPAD('x', 1000, 'x');
--UTL_FILE.PUT_NCHAR(v_file, v_string); -- parte 1
--v_string := '0';
UTL_FILE.PUT_LINE_NCHAR(v_file, v_string); -- parte 2
UTL_FILE.FFLUSH(v_file);
-- fim linha 1
UTL_FILE.FCLOSE(v_file);
END;
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 565
ORA-29283: invalid file operation
ORA-06512: at line 13
1) Como eu faço para dar certo gravar no diretório \USR\TMP\ ? ( Levando em consideração que não vou criar o diretório para ela )
2) Preciso dar alguma permissão para usar esse objeto ( UTL_FILE ) ?