/ / Jede clevere Methode zur Behebung von 'String- oder Binärdaten' würde mit LINQ - .net, SQL-Server, LINQ-to-SQL - Warnung abgeschnitten

Jede clevere Methode, um "Zeichenfolgen" oder "Binärdaten" zu korrigieren, wird mit LINQ - .net, SQL-Server, LINQ-to-SQL-Warnung abgeschnitten

Gibt es eine clevere Methode, um herauszufinden, welches Feld bewirkt, dass "String- oder Binärdaten werden abgeschnitten" werden?

Ich habe es am Ende immer manuell gemacht, indem ich durch einen Debugger gegangen bin, aber bei einem Stapel mit "SubmitChanges" muss ich meinen Code ändern, indem ich eine einzelne Zeile einfüge, um den Schuldigen in einem Stapel von Zeilen zu finden.

Fehlt mir etwas oder muss ich in der heutigen Zeit immer noch eine Brute-Force-Methode anwenden, um das Problem zu finden.

Bitte geben Sie mir keinen Rat, um diesen Fehler zu vermeidenin der Zukunft (es sei denn, es ist etwas klüger als "Ihre Daten überprüfen"). Die Quelldaten stammen aus einem anderen System, wo ich sowieso nicht die volle Kontrolle habe - und ich möchte faul sein.

PS. Kann mir SQL Server 2008 tatsächlich den Feldnamen mitteilen? Bitte sag es mir! Ich werde ein Upgrade machen!

Antworten:

5 für die Antwort № 1

Starten Sie den SQL Profiler. Die letzte Abfrage Ihrer Anwendung sollte diejenige sein, die fehlschlägt.


1 für die Antwort № 2

Es scheint, als hätten sie dieses Problem für das Service Pack 1 von .NET 3.5 behoben, wie in diesem Link angegeben: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=353232

Vielleicht möchten Sie es selbst herausfinden.


0 für die Antwort № 3

Es ist wahrscheinlich nützlich, dieses mit linq .net getaggte Tag erneut zu bearbeiten

DJ - woher bekommen Sie diese Daten, die Sie als Lösungsvorschlag posten?

Die Ausnahme enthält diese Informationen nicht, daher ist Ihr Beitrag ziemlich nutzlos - es sei denn, Sie können die Quelle angeben.


-1 für die Antwort № 4

Angenommen, Sie verarbeiten eine große Menge von Datensätzen und möchten die Daten nicht vor der Prüfung überprüfen (können), und Sie möchten, dass db-Einschränkungen alle Fehler abfangen?

Ändern Sie Ihr Programm, um die Ausnahme abzufangen, und drucken Sie die aktuellen Datensatzdetails in eine Protokolldatei oder etwas anderes aus.

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