2013-01-25 10 views
14

Einfügen von Daten in eine Microsoft SQL Server-Datenbank mit Java, ich habe eine SQL-trunction Ausnahme. Die Ausnahme zeigt jedoch nicht an, in welcher Spalte der Problemwert enthalten ist.Wie zu sehen, in welcher Spalte Daten abgeschnitten hat

Gibt es eine Möglichkeit, die Fehlerdetails zu finden, zum Beispiel von SQL Server Management Studio?

Hinweis: Ich verwende SQL Server-Datenbank in Windows.

+0

Danke Crowder. Nur sein SQL-Server. – Rajasekhar

Antwort

11

Leider nein. Die Fehlermeldung enthält so viele Informationen wie SQL Server.

Um festzustellen, welche Werte in welchen Spalten welcher Zeilen fehlerhaft sind, müssen Sie die Daten analysieren. Ein üblicher Ansatz zur Entdeckung dieser Art von Problem ist die Durchführung von binären Chops - entfernen Sie die Hälfte der Daten oder die Hälfte der Spalten, versuchen Sie die Einfügung erneut (möglicherweise in eine temporäre Tabelle mit der gleichen Struktur wie die reale Tabelle) und sehen, ob der Fehler wiederholt sich.

Wenn es so ist, groß, mindestens ein Problem ist in den Daten, die bleibt. Wenn nicht, haben Sie die Hälfte der Daten eliminiert, da sie kein Problem verursachen.

+0

Java druckt "java.sql.DataTruncation: Datenabkürzung und Stack-Trace". Es gibt jedoch keine weiteren Details darüber, welche Daten oder Spalte abgeschnitten wurden. – Rajasekhar

+1

@Rajasekhar - Wie gesagt, es gibt keine weitere Hilfe von SQL Server, wenn dies geschieht - Sie müssen nach den Daten suchen, die den Fehler verursachen. Wie ich auch schon sagte, ist es üblich, die Datenmenge zu halbieren (entweder durch das Entfernen von Spalten oder das Entfernen von Zeilen) und um zu sehen, ob Sie immer noch den Fehler –

+0

erhalten. Vielen Dank für Ihren Vorschlag. – Rajasekhar

Verwandte Themen