2008-11-20 11 views
10

Y a-t-il une manière intelligente de déterminer quel champ provoque la 'chaîne ou les données binaires seraient tronquées' avec LINQ. J'ai toujours fini par le faire manuellement en passant par un débogueur, mais avec un batch en utilisant 'SubmitChanges' je dois changer mon code en insérant une seule ligne pour trouver le coupable dans un lot de lignes. Ai-je manqué quelque chose ou de nos jours dois-je vraiment encore utiliser une méthode de force brute pour trouver le problème.Toute méthode intelligente pour corriger les données 'chaîne ou données binaires serait tronquée' avec LINQ

Veuillez ne pas me donner des conseils pour éviter cette erreur à l'avenir (à moins que ce soit quelque chose de plus intelligent que «valider vos données»). Les données source proviennent d'un système différent où je n'ai pas le contrôle total de toute façon - plus je veux être paresseux.

PS. Est-ce que SQL Server 2008 me dit réellement le nom du champ. S'il vous plaît dites-moi ça! Je vais améliorer!

+0

juste pour le plaisir: avéré être un nom de société de «Ambassade de la République dominicaine aux États-Unis» essayant de s'intégrer dans un champ de nom de société 50 caractères –

+3

Eh bien, comment l'avez-vous trouvé? – DenNukem

+0

On dirait que cela ne fonctionne pas pour le framework d'entité. J'espère qu'ils seront bientôt corrigés. –

Répondre

-1

En supposant que vous traitez un grand nombre d'enregistrements et que vous ne voulez pas (ne pouvez pas) valider les données auparavant, vous souhaitez simplement que les contraintes DB détectent les erreurs?

Modifiez votre programme pour intercepter l'exception et imprimez les détails de l'enregistrement en cours dans un fichier journal ou autre.

Record # 9999 
Caused "string or binary data would be truncated" error 
Field1: "Data" Length: 55 
Field2: 9999 
etc. 
5

Allumez SQL Profiler. La dernière requête de votre application doit être celle qui échoue.

0

Il serait sans doute utile de re-post/modifier ce étiqueté comme LINQ .net

DJ - où êtes-vous ces données, vous postez comme solution proposée?

L'exception ne contient pas cette information, votre post est donc pratiquement inutile, à moins que vous ne puissiez spécifier la source.

Questions connexes