Erreur de traitement avec SqlBulkCopy - pourrait-il être plus difficile?

dataadapter dataset exception sqlbulkcopy

Question

Courir très bas sur les idées ici. Dans certains cas, j'utilise SqlBulkCopy pour pomper des données dans une base de données. À peu près à mi-parcours, je rencontre différentes exceptions (violations de clé primaire, violations d'index, etc.).

J'ai confirmé que les violations sont en réalité vraies et doivent être corrigées dans les données. Ce qui est exaspérant, cependant, c'est que si j'écrivais dans la base de données avec un DataAdapter (ce qui serait beaucoup plus lent), les mauvaises lignes du DataSet activeraient HasErrors afin que je puisse facilement les trouver et prendre soin de tout. Avec SqlBulkCopy? Rien. Nada. Bonne chance pour trouver qui a causé votre problème parce que tout ce que vous obtiendrez est un nom d'erreur (comme "violation de clé primaire dans yada yada yada, bla bla blah") et c'est tout.

Aucune suggestion? Je ne peux pas croire qu'il n'y a aucun moyen d'obtenir ces erreurs. Avec le standard BCP, je pense que vous pouvez même convertir ces informations dans un fichier journal. Ne pouvons-nous pas faire quelque chose comme ça avec SqlBulkCopy?

THX,

Réponse populaire

Lorsque je fais des importations de données nécessitant une validation, je vends généralement les données dans une table qui les prendra telles quelles, puis exécute un proc stocké ou un autre SQL capable de valider mes données de manière définie, puis effectue les transformations et le mets dans la destination finale d’une manière que je puisse contrôler.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi