2017-08-07 4 views
0

Je souhaite créer un package ssis etl. je suis nouveau à ssis. encore réussi à apprendre les bases d'Internet et a commencé à travailler dessus. Source = xml. destination = base de données du serveur microsoft sql .. 2 tables distinctes une pour le bon enregistrement et une autre pour les mauvais enregistrements. Mon résultat final devrait ressembler à ceci, la colonne spécifique avec l'erreur devrait venir s'asseoir dans le tableau ci-dessous, s'il y a 20 champs défectueux dans une rangée xml alors 20 mauvais dossiers devraient s'asseoir séparément dans la table ci-dessous. mauvaise structure d'enregistrement:SSIS: Validation des données ETL -> XML vers SQL (validation des données XML)

[Slno] 
[LoanNumber] = this is primary key in my source, so this needs to inserted for every bad data column. 
[ErrorField] = i need to insert which input data in xml has error. 
[ErrorFieldValue] = i need to insert what is the value of error column. 
[ErrorMessage]= and a error message based on the validaiton. 

entrée de données xml = Il dispose de 5 lignes de données dans un xml et chaque ligne comportant 100 champs de données.

J'ai besoin de valider chaque champ de données en XML avant de le mettre dans la table de base de données sql. J'ai essayé de valider en fonction du champ de conversion de données ... exemple if (Montant) de la source de données d'entrée! = Float .. rediriger l'erreur dans la destination de table d'erreur sql .. mais pendant la cartographie j'ai besoin de mapper tous les bons champs ou seulement je peux sélectionner la colonne spécifique mais s'il y a 20-30 champs d'erreur dans les données d'entrée je ne peux pas valider et mapper les valeurs d'erreur. Mes validations requises sont la validation de longueur, alphanumérique et la date .i besoin de vérifier la longueur du champ ne devrait pas être> 10 sinon il devrait passer à table d'erreur, comme ce montant ne devrait pas être alphanumérique et la date devrait être correcte.

aidez-moi s'il vous plaît à résoudre ce problème.

Répondre

0

Ce que je suggère est d'avoir d'abord générer un XSD répondant à toutes vos règles de gestion. Utilisez ce XSD pour valider le XML, puis commencez le XML valide dans le cadre du flux de données.

Voici un blog qui explique comment valider des données XML à l'aide de la tâche de script. Vous pouvez en outre modifier ce code pour obtenir les erreurs que vous recherchez en ajoutant le OleDBConnection approprié et obtenir ces données dans vos tables d'erreurs.