Como importar para o SQL Server 2005 de arquivo simples com transformações de dados
-
19-09-2019 - |
Pergunta
Eu tenho um arquivo de dados simples que eu preciso para importar para o meu SQL Server 2005 DB.
Muitos dos campos precisa ser separado em diferentes tabelas, relacionados. Por exemplo, o arquivo plano tem nomes, endereços e números de telefone, tudo em um registro. Na minha DB, a tabela de Person
tem muitas Telephones
e Addresses
.
Existe um processo de uma etapa em que eu posso importar tudo em minhas tabelas, ou eu tenho que primeiro importá-lo para uma nova tabela no meu DB (ugh - poluição se eu esquecer de excluí-lo), e importar os dados de lá usando instruções SQL e tabelas temporárias?
Solução
Eu prefiro a mesa de uma importação, seguido de divisão para fora em mesas finais. Eu também persistem tabela de importação em vez de criar / excluí-lo de cada vez.
- Mais fácil de lidar restrições wth (verificação antes de inserção na tabela final ou atualização de linha existente)
- Mais fácil de deixar os dados de geração de erro na tabela de importação após a remoção de linhas de sucesso
- transação lado do servidor
- Tipo de dados de segurança: pode-lhe 100% de confiança sua fonte
- Mais fácil de ISNULL ou NULLIF em SQL para lidar com cadeias vazias e outros tais
- e outras coisas que não me lembro agora ...
Outras dicas
Isso é totalmente um trabalho para SQL Server Integration Services . Tem algum grande funcionalidade que irá permitir que você pegar um arquivo simples, fazer a manipulação de dados sobre ele, e, eventualmente, importá-lo para o seu novo db.
Infelizmente, não há uma solução fácil "solução rápida" que eu conheço fora dessa. Não é a tecnologia Gostaria de olhar para primeiro, no entanto.