Gerar arquivo txt pelo forms

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
lamanita
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 42
Registrado em: Seg, 17 Mai 2004 2:41 pm
Localização: Porto Alegre - RS
Samuel, o lamanit@

Olá pessoal, alguém já passou pela situação de ter um select que roda normal no SQL Plus, mas quando passa esse select para o forms para gerar um txt, ele demora muito, muito mais, gera o arquivo, mas a tela tranca ?
Estou usando o Text_IO.
Se alguém já passou por essa situação, por favor me dê um toque. Valeu...
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

É muito grande o arquivo que está sendo gerado?

(Você pode usar o comando SYNCHRONIZE para mostrar em que linha você está... Tipo, cria um campo na tela onde ficará a linha atual)

Daí faça assim:

Selecionar tudo

:BLOCO.CAMPO_ATUAL := 0;
LOOP -- do seu código
  :BLOCO.CAMPO_ATUAL := :BLOCO.CAMPO_ATUAL +1 ;
  SYNCHRONIZE;
  prc_envia;  --essa é a rotina que envia para o arq... 
END LOOP;
Dessa forma, a tela não tranca...(pelo menos, aparece alguma coisa para o usuário ver)
lamanita
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 42
Registrado em: Seg, 17 Mai 2004 2:41 pm
Localização: Porto Alegre - RS
Samuel, o lamanit@

Fiz como sugeriu, mas continua a mesma coisa. Não sei se é viagem minha, mas me parece que o Forms não consegue gerenciar muita memória ao mesmo tempo. Nem atualizar o campo, ele atualiza, mesmo com um arquivo com 50 linhas. Depois de gerado o arquivo, a tela tranca. Acho que ele se perder quando esta executando o cursor.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Tenta fazer um select Simples pra ver se funciona...
Ou coloca um AND ROWNUM=1 (pra voltar apenas 1 linha)

Daí você descobre se o problema está no SELECT ou é na rotina de abrir/fechar o arquivo...
Responder
  • Informação
  • Quem está online

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