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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top