2013-01-31 4 views
6

Wir haben eine Webanwendung, die Hibernate verwendet, um Daten auf einer SQL Server 2005-Instanz persistent zu machen.Jede Möglichkeit, die Spalte zu erhalten, die eine com.microsoft.sqlserver.jdbc.SQLServerException verursacht: Zeichenfolge oder binäre Daten würden abgeschnitten

Auf gelegentlich wir ein com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.

erhalten Während wir die Insert-Abfrage bekommen, und dann mit der Hand auf die Spaltendefinition in der Datenbank zu vergleichen, um zu sehen, welche Spalte zu klein ist, dann ist dies langsam und fehleranfällig. Gibt es eine Möglichkeit, die Tabelle/Spalte automatisch zu erhalten, die das Problem von dieser Ausnahme hat?

Ich habe mich in Google und SO nach einer Lösung umgesehen, also werde ich verstehen, wenn die Antwort "Nein, Sie können diese Informationen nicht bekommen", aber ich dachte, es tat nicht weh zu fragen.

Antwort

-2

Dieser Fehler kann auftreten, wenn Sie versuchen, in Tabellenspalte zu setzen, größere Daten als können Sie zum Beispiel:

Ihre Spalte Einstellung ist varchar (10) und Sie versuchen, setzen „einige Daten mehr Länge als 10 "

Dann erhalten Sie Fehler wie: com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.

prüfen Eingangsdaten und Ihre Einstellungen.

+1

Ja, mir ist das bekannt, wie ich im OP festgestellt habe. Dies beantwortet jedoch nicht die Frage, welche Spalte ohne manuelle Überprüfung der eingefügten Daten ist, und genau das versuche ich zu vermeiden. – Kane