Usuário com melhor resposta
Importar dados pelo Wizard "Import and Export Data"

Pergunta
-
Boa tarde Senhores,
Eu tenho um arquivo .txt que está sendo alimentado a todo momento. E eu preciso importa-lo para meu banco de dados, a fim de atualizar uma coluna.
Porém usando o Import and Export Data, ele parece que da um CREATE_Table toda vez que executa. Existe alguma forma de dar um update na tabela ao inves de cria-la novamente?
Ou existe algum outro procedimento? A ideia é criar um Job pra isso ficar rodando e alimentando essa tabela.
Obrigado, até mais!
L2V
Respostas
-
L2V, bom dia.
Vc pode copiar a sua view diretamente para esta tabela de destino, mesmo se forem servidores diferentes.Não precisa exportar para CSV e depois importar o arquivo para o destino, a não ser que outro processo precise deste arquivo CSV. Vc pode fazê-lo através do integration services. É bem simples.
Vc precisa incluir alguma regra de negócio do tipo, inserir somente os dados que não existir na tabela destino através de um cruzamento de chaves? Se sim, vc pode utilizar o Lookup task.
Segue um exemplo em SQL server 2008. Para o 2012 não muda quase nada.
http://www.sqlhub.com/2010/07/lookup-transformation-task-in-ssis-2008.html
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
- Marcado como Resposta L2V sexta-feira, 14 de dezembro de 2012 12:21
Todas as Respostas
-
L2V, boa tarde.
Sim é totalmente viável criar um job que atualize os dados de destino.
Pela nomemclatura que está utilizando vc está utilizando o SQL server 2000? Acertei?
Se sim, vc pode criar um pacote DTS no enterprise manager, salvar o pacote em arquivo estruturado e utilizar o SQL agent para rodar este pacote de forma automática.
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
- Editado Eduardo Gomes Pereira quinta-feira, 13 de dezembro de 2012 19:43
-
-
L2V,
No passo "Select Source Tables and Views" você define o destino dos dados. O SQL Server Import and Export Wizard tenta sugerir como destino uma tabela existente, porém, caso não consiga, sugere então a criação de uma nova tabela.
Se você clicar sobre o nome do objeto em Destination, será liberada uma Dropdown, nela você pode definir uma outra tabela, diferente da que foi sugerida.
Abçs -
Oi Juliano, bom dia!
Então, o meu objetivo seria exportar uma view, e criar um job pra ficar exportando ela a cada x tempo (concluído).
E o trabalho de importação, seria pegar esses dados novos da view, que está agora em um .csv e ficar inserindo no banco a todo momento, em uma tabela fixa. O problema é que o importador fica dando esse create table ao invés de fazer o update.
Outro problema é que a exportação não sobrepõe o arquivo .csv, ela insere tudo novamente logo abaixo :(
Será que alguém conhece outro processo que atenda essa necessidade?
L2V
-
L2V, bom dia.
Vc pode copiar a sua view diretamente para esta tabela de destino, mesmo se forem servidores diferentes.Não precisa exportar para CSV e depois importar o arquivo para o destino, a não ser que outro processo precise deste arquivo CSV. Vc pode fazê-lo através do integration services. É bem simples.
Vc precisa incluir alguma regra de negócio do tipo, inserir somente os dados que não existir na tabela destino através de um cruzamento de chaves? Se sim, vc pode utilizar o Lookup task.
Segue um exemplo em SQL server 2008. Para o 2012 não muda quase nada.
http://www.sqlhub.com/2010/07/lookup-transformation-task-in-ssis-2008.html
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
- Marcado como Resposta L2V sexta-feira, 14 de dezembro de 2012 12:21