[AJUDA] Script para preenchimento de tabelas com .txt

Backup, Recover, Import, Export, Datapump, etc
Responder
tnPin
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 23 Mai 2007 7:17 am
Localização: Lisboa

Sou novo nestas andanças e deparei-me com este forum por acaso. Dos que visitei pareceu-me ser o mais completo por isso vinha humildemente pedir a vossa opinião e ajuda não sabendo no entanto se estou na thread certa para a minha questão.
Estou a desenvolver uma pequena aplicação para analise de logs. Estes são simples ficheiros de texto que facilmente carrego em tabelas. Ora, o problema é que precisava de uma forma de automatizar o preenchimento de tabelas, ou seja, a uma determinada hora do dia o log do dia anterior seria adicionado á BD.
Não trabalho em SQL á muito tempo por isso, apesar de estar com receio de estar a perguntar algo que para vós será simples de resolver, a mim já me está a dar uma conta grande na farmácia em Ben-U-Ron.
Agradecia qualquer resposta
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, tudo bem?

Você poderia estar fazendo isso via Job's do Oracle, ou seja, agendando o carregamento desta tabela, através de uma package/procedure agendada no banco.

Procure aqui no fórum por JOB e irá encontrar tópicos que lhe ajudarão, como este aqui.
tnPin
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 23 Mai 2007 7:17 am
Localização: Lisboa

desde já muito obrigado pela dica.
já vi o exemplo q me deste.
Agora , se não te importares, podes dar um exemplo de uma procedure?
Obrigado
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, aqui no fórum, tem N exemplos de procedures, como este aqui.

Agora, o que precisa fazer, seria uma procedure simples, que insere dados em uma tabela, correto?

Selecionar tudo

CREATE OR REPLACE PROCEDURE PRC_INSERE (VLR1 IN NUMBER,
                                        VLR2 IN NUMBER,
                                        VLR3 IN VARCHAR2)
IS
BEGIN
   INSERT INTO TABELA_X (CAMPO1, CAMPO2, CAMPO3) VALUES (VLR1,VLR2,VLR3);
   COMMIT;
EXCEPTION 
  WHEN OTHERS THEN 
    RAISE_APPLICATION_ERROR (-20001, 'Erro ao inserir registros: ' || sqlerrm);
END PRC_INSERE;
Depois, você chama essa procedure no teu Job, correto?
qualquer coisa manda ai.
gilbertoca
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 372
Registrado em: Ter, 24 Jan 2006 3:33 pm
Localização: Palmas - TO
Contato:

Não sei qual versão do banco você está usando, mas nas mais recentes, exsitem algumas opções de carga de dados a partir de arquivos textos.
No meu ambiente estou utilizando o utilitário sqlldr (SQL*Loader). Quando a equipe de migração termina de gerar os arquivos textos eu inicio um script que coordena a carga de vários arquivos para o banco.

Outra coisa que você poderia está utilizando, como o trevisolli frisou é a criação de um procedimento (que poderá ser agendado) que usa objetos DIRECTORY para fazer a carga. A documentação oracle é farta neste sentido.

Gilberto
tnPin
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 23 Mai 2007 7:17 am
Localização: Lisboa

Amigos, o meu problema é o seguinte:
Todos os dias uma firewall gera um ficheiro txt de logs do correrio q passa por ela. No fim de cada dia inicia um novo ficheiro txt correspondente ao dia "x".
O que eu quero fazer é q automaticamente, por exemplo ás 00:05 horas, uma procedure acrescente todos os eventos do log do dia "x-1" á minha base de dados.
Uma vez que eu tenho muito pouca experiencia trabalhando com Oracle (versão: database Express Edition) peço desculpa por estar a fazer perguntas provavelmente muito basicas, mas preciso mm de ajuda
Um abraço
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, dá uma olhada neste link abaixo:

Jobs - Oracle

É um link da própria Oracle.

Caso tenha mais dúvidas, me manda teu mail, vejo se consigo ajudar especificamente no teu caso, depois, publicamos aqui no site, pode ser?

Meu mail: ptrevisolli@ancora.inf.br
tnPin
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 23 Mai 2007 7:17 am
Localização: Lisboa

Vou ver o link e depois volto a falar com vocês, mas muito obrigado desde já.

o meu mail: ncaiagua@gmail.com
Responder
  • Informação
  • Quem está online

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