RENOMEAR ARQUIVO UTL_FILE DIRETAMENTE NO UNIX

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
DEIASV
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 30
Registrado em: Seg, 01 Mar 2010 11:12 am
Localização: rio de janeiro RJ

Pessoal, preciso de ajuda.

Tenho uma package que cria um arquivo UTL_FILE num diretório UNIX.

Preciso de ajuda para saber como faço para pegar esse arquivo ao final de sua geração e renomear ele no mesmo diretório do UNIX com o nome definitivo?

Estou criando assim:

Selecionar tudo

     -----------------------------
    -- INICIALIZANDO VARIÁVEIS --
    -----------------------------
    cNmPrograma    := 'PRC_EXTRACAO_DESCONTO_FULL';
    dCreationDate  := SYSDATE;
    cDate          := TO_CHAR(dCreationDate,'MMDDYYYY');
    cTime          := TO_CHAR(dCreationDate,'HH24MISS');
    cNmDirOrigem   := '/usr/tmp';

    ---------------------------------
    -- DEFININDO O NOME DO ARQUIVO --
    ---------------------------------

    cNmArqDescto     := 'BKP_DESCONTOS||'_'||TO_CHAR(dCreationDate,'YYYYMMDD')||'_'||cTime||'.txt';


      fArquivoDescto  := UTL_FILE.FOPEN(cNmDirOrigem,cNmArqDescto,'W');

#
#
#
#
#

    ------------------------
    -- FECHANDO Os ARQUIVOs --
    ------------------------
    UTL_FILE.FCLOSE(fArquivoDescto);

Preciso de ajuda urgente para renomear o arquivo
de:

Selecionar tudo

 'BKP_DESCONTOS||'_'||TO_CHAR(dCreationDate,'YYYYMMDD')||'_'||cTime||'.txt';
para:

Selecionar tudo

'FI_AP_DESCT'||'_'||TO_CHAR(dCreationDate,'YYYYMMDD')||'_'||cTime||'.txt';
Obrigada,

Andréia
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Selecionar tudo

utl_file.frename('cNmDirOrigem', 'test.txt', 'cNmDirOrigem', 'x.txt', TRUE)
DEIASV
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 30
Registrado em: Seg, 01 Mar 2010 11:12 am
Localização: rio de janeiro RJ

Olá Diego,

muito obrigada pelo retorno,

Apenas uma dúvida, é utl_file.frename ou utl_file.rename?

Abs,

Andréia
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Selecionar tudo

desc utl_file;
DEIASV
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 30
Registrado em: Seg, 01 Mar 2010 11:12 am
Localização: rio de janeiro RJ

Diego,

Fiz alguma besteira. Pode me ajudar?

Coloquei assim:

Selecionar tudo

  utl_file.frename('cNmDirOrigem', 'cNmArqDescto', 'cNmDirOrigem', 'FI_AP_DESCT'||'_'||TO_CHAR(dCreationDate,'YYYYMMDD')||'_'||cTime||'.txt', TRUE);
Deu essa saída de erro:

Selecionar tudo

BKP_DESCONTOS2_20111026_174522.txt
ORA-20100: ORA-29283: invalid file operation - ERRO DURANTE  - B2W_PRC_EXTRACAO_DESCONTO_FULL
ORA-06512: at ""UGO.AMORIM.B2W_AP_DESCTO_MERC_PKG"", line 442
ORA-06512: at line 2

Total execution time 9.793 sec.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

você colocou isso antes ou depois do FCLOSE?
DEIASV
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 30
Registrado em: Seg, 01 Mar 2010 11:12 am
Localização: rio de janeiro RJ

Antes Diego.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

já tentou por depois?
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes