OFFRES - SSIS de Redirection en ligne sur Erreur envoie trop de lignes
J'ai un flux de données simple.
La source est un petit fichier plat avec approxiamtely 16k lignes.
La destination est une destination OLE DB, SQL 2008 table avec une partie 3 de clé Unique.
Le flux de données passe par des transformations simples; le nombre de lignes, des colonnes dérivées, de conversion de données etc.
Tout simple et tout ce qui fonctionne très bien.
Mon problème est que dans ces données il y a 2 lignes qui sont des doublons en termes de la clé primaire, 2 lignes en double qui violent que la clé, ainsi que 4 lignes au total. Sur la destination OLE DB, j'ai mis la sortie d'erreur de redirection de Ligne et les lignes sont envoyés à une Erreur de la table qui a assez de colonnes pour moi d'identifier les mauvaises lignes.
Le problème est que, même si il y a 4 cuplrits la traduction continue a écrire 1268 des lignes à la table des erreurs.
Des idées?
Grâce.
**
Juste à ajouter, si je supprime les 2 lignes en double à l'ensemble de l'importation de fichiers avec succès....16,875 lignes.
Il n'est pas question que seulement 2 lignes de violer la clé, mais la redirection d'erreur affecte 1268.
**
OriginalL'auteur Matt H | 2011-03-02
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la solution.
Le problème disparaît si vous chargez les données à l'aide de mode d'accès aux Données Table ou de la vue "dans le OLE de Destination plutôt qu'à" la Table ou de la Vue - chargement Rapide'.
Le seul commentaire que je peux trouver est sur MSDN;
Tout échec de contrainte à la destination entraîne l'ensemble du lot de lignes défini par FastLoadMaxInsertCommitSize.
Il semble donc que la taille de la ligne a été 1268 dans mon cas et les 2 lignes en double qui ont été violé la clé causé à l'ensemble du lot pour être redirigé vers l'erreur de la table de destination.
OriginalL'auteur Matt H
Êtes-vous sûr que les autres lignes sont des erreurs dues à la PK violation? Il ya un couple de colonnes supplémentaires (ErrorCode, ErrorColumn) disponible sur le chemin de l'erreur. Cela peut indiquer que vous avez des questions différentes.
Cet article dit que -1071607685 pourrait être FK contrainte relative: dwexperience.blogspot.com.au/2007/10/...
Plus de "-1071607685" - il a un Index Unique échec pour nous. (Une autre ligne vide). Nous avons obtenu plus d'informations quand nous avons éteint "Rediriger Ligne" gestion des erreurs et viens de recevoir le colis/étape à l'échec.
OriginalL'auteur bobs
Dans SQL server 2008, vous pouvez rediriger une incapacité de lignes, par exemple un plat de destination du fichier. Aller à la destination OLEDB tâche goto la sortie d'erreur (sélectionner tous les champs dans les fenêtres). Avec la zone de liste déroulante ci-dessous choisir de rediriger ligne et appliquer, puis sur ok.
Faire glisser ensuite un precedance contrainte (flèche rouge) de la OLEDB pour un nouveau fichier Plat de la tâche et de la configuration de cette tâche (ne pas modifier le mappage par défaut des colonnes).
Maintenant, vous devriez être capable de trouver l'erreur en ligne plus facile.
Eric
OriginalL'auteur user685871