Bom dia. Tenho uma dúvida com relação a função "UTL_File.Fopen": o arquivo de saida somente será gravado em uma pasta configurada no servidor Oracle, ou posso salvar em uma pasta local (em meu desktop p.ex.)? (estou utilizando o Oracle SQL Developer - 3.2.20.09).
Quando executo a rotina que criei (é a primeira vez que crio este tipo de rotina) somente é exibida a mensagem: ------------------------- Relatório de erro: ORA-06550: linha 24, coluna 19: PLS-00306: número incorreto de tipos de argumentos na chamada para 'FOPEN' ORA-06550: linha 24, coluna 2: PL/SQL: Statement ignored 06550. 00000 - "line %s, column %s:\n%s" *Cause: Usually a PL/SQL compilation error. *Action: ------------------------- Segue o script criado: ------------------------- DECLARE arquivo_saida UTL_File.File_Type; Dir_Arq VARCHAR2(60); Cursor Cur_Linha is select pc.filial||';'|| pc.numpedc||';'|| pc.status||';'|| pc.fornecedor||';'|| fr.nome||';'|| pc.dt_emissao||';'|| pc.dt_pedido||';'|| pc.val_total_pedido||';'|| pc.cod_usuario as linha from pedido_compra pc, fornec fr where fr.codigo = pc.fornecedor and dt_emissao between to_date('01/01/2013','dd/mm/yyyy') and to_date('08/08/2013','dd/mm/yyyy') and cod_usuario = 'ELOAS' order by dt_emissao; BEGIN Dir_Arq := 'C:\temp\'; arquivo_saida := UTL_File.Fopen(Dir_Arq, arquivo_saida, 'W', 256); For Reg_Linha in Cur_linha Loop UTL_File.Put_Line(arquivo_saida, Reg_linha.linha); End Loop; UTL_File.Fclose(arquivo_saida); Dbms_Output.Put_Line('Arquivo gerado com sucesso.'); EXCEPTION WHEN UTL_FILE.INVALID_OPERATION THEN Dbms_Output.Put_Line('Operação inválida no arquivo.'); UTL_File.Fclose(arquivo_saida); WHEN UTL_FILE.WRITE_ERROR THEN Dbms_Output.Put_Line('Erro de gravação no arquivo.'); UTL_File.Fclose(arquivo_saida); WHEN UTL_FILE.INVALID_PATH THEN Dbms_Output.Put_Line('Diretório inválido.'); UTL_File.Fclose(arquivo_saida); WHEN UTL_FILE.INVALID_MODE THEN Dbms_Output.Put_Line('Modo de acesso inválido.'); UTL_File.Fclose(arquivo_saida); WHEN Others THEN Dbms_Output.Put_Line('Problemas na geração do arquivo.'); UTL_File.Fclose(arquivo_saida); END; ------------------------- Desde já agradeço a colaboração. Att, -- Otavio S Wollny [As partes desta mensagem que não continham texto foram removidas]