Comment importer dans SQL Server 2005 à partir du fichier plat avec des transformations de données

StackOverflow https://stackoverflow.com/questions/1189043

Question

J'ai un fichier plat de données que je dois importer dans mon SQL Server 2005 DB.

La plupart des champs doivent être séparés en différents tableaux connexes. Par exemple, le fichier plat a des noms, adresses et numéros de téléphone, le tout dans un enregistrement. Dans mon DB, la table Person a beaucoup Telephones et Addresses.

Y at-il un procédé à une étape où je peux importer tout dans mes tableaux, ou dois-je d'abord l'importer dans une nouvelle table dans mon DB (ugh - pollution si j'oublie de le supprimer) et importer les données à partir de là en utilisant des instructions SQL et des tables temporaires?

Était-ce utile?

La solution

Je préfère une table d'importation, puis en divisant à en tables finales. Je persisteront également la table d'importation plutôt que de créer / supprimer chaque fois.

  • plus facile à traiter wth contraintes (vérifier avant insertion dans la table finale ou mettre à jour la ligne existante)
  • facile à partir des données de génération d'erreur dans la table d'importation après suppression de lignes réussies
  • transaction côté serveur
  • Sécurité du type de données: pouvez-vous 100% Faites confiance à votre source
  • Plus facile à isNull ou NULLIF dans SQL pour traiter des chaînes vides et d'autres comme
  • et d'autres choses que je ne me rappelle en ce moment ...

Autres conseils

Ceci est tout à fait un travail pour SQL Server Integration Services . Il a une grande fonctionnalité qui vous permettra de saisir un fichier plat, faire la manipulation de données sur elle, et éventuellement l'importer dans votre nouveau db.

Malheureusement, il n'y a pas une solution « solution rapide » facile que je connaisse en dehors de cela. Il y a la technologie que je regarderais en premier, cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top