2009-11-16 5 views
0

Je veux savoir comment importer le fichier .mdb (MS Office 07) dans Sql Server 2008 par SSIS. J'ai besoin d'exécuter ce paquet ETL de telle sorte qu'il vérifie s'il y a des doublons et, le cas échéant, ne les réinsère pas, mais seulement insère de nouveaux enregistrements. Si quelqu'un a un lien de tutoriel ou peut expliquer ici par étapes serait très utilessis SQL Server 2008 pour l'accès. Base de données mdb

Répondre

0

C'est un peu vaste pour discuter dans un forum comme celui-ci, mais ...

En général, je fais cela en important les données à une table de travail (pas celle à laquelle vous voulez que les données se retrouvent). Il devrait également avoir sa propre colonne d'identité (utile pour séparer les doublons dans les données) et une colonne pour votre ID d'enregistrement de table de base de données. Espérons que les données ont un certain type de champ d'identification pour chaque enregistrement. Si c'est le cas, vous devez disposer d'une table de mappage qui relie les identifiants de base de données de votre base de données aux ID d'enregistrement de la base de données Access. Ensuite, il devient simple de rechercher les identifiants qui n'existent pas dans la table de mappage et d'insérer les enregistrements qui leur sont associés, la table de production dans laquelle vous placez les informations. Habituellement, quand je fais cela, j'ajoute mon propre champ d'identification à la table de travail, puis j'insère ces enregistrements dans la table de mappage comme une dernière étape. Si les données que vous recevez n'ont pas de champ id, cela est beaucoup plus difficile et peut être impossible selon la nature de la clé naturelle ou même si vous en avez une (les bases de données Access sont souvent notoires pour ne pas suivre les principes de conception de base de données) . Si la chose la plus proche que vous avez d'un identifiant unique est la combinaison nom/adresse, comment savez-vous si John Smith au 10 State Street à Chicago IL est la même personne que John Smith au 25 Main Street Chicalgo, IL. Il aurait pu déménager ou ce pourrait être un John Smith différent.

2

L'expansion sur la réponse HLGEM ...

  1. Dans SSIS créer un nouvel objet de flux de base de données et entrer dans cette section (deuxième onglet sur le dessus).

  2. Créez un objet source OLE DB (peut être un objet spécifique pour Access mais la source OLE DB de base doit fonctionner) et choisissez Access comme source et recherchez votre fichier .mdb. Sans être vraiment descriptif, il devrait trouver les colonnes et vous pouvez le formater un petit peu pour sauter les lignes d'entêtes, etc.

  3. Ensuite, créez un composant de destination OLE DB en le faisant glisser sur l'écran et connectez la flèche verte de la source pour cela. Ouvrez ce composant de destination et choisissez de créer une nouvelle base de données. Il devrait automatiquement créer des noms de colonnes et affecter leurs types en fonction de votre base de données .mdb. Dans cette section, vous pouvez spécifier les colonnes que vous souhaitez utiliser pour indiquer les lignes uniques que vous souhaitez. Si vous n'avez aucun champ à parcourir, vous devrez explorer d'autres options après (voir le post de HLGEM). Si vous avez un champ sur lequel vous pouvez taper, faites-le. Maintenant que vous avez créé ceci, vous pouvez spécifier comment vous voulez que votre sortie d'erreur soit gérée dans la destination OLE DB ... Si vous choisissez rediriger et que vous placez les données dans un fichier, toutes vos clés dupliquées seront lancées Là.

Espérons que ce bref résumé vous aide!

Questions connexes