2016-07-01 5 views
1

String or binary data would be truncated. The statement has been terminated.Zeichenfolge oder Binärdaten werden abgeschnitten. Die Anweisung wurde beendet. System.Data.SqlClient.SqlException (0x80131904)

System.Data.SqlClient.SqlException (0x80131904): String or binary data would be truncated

+2

Der Wert, den Sie in die Tabelle einfügen, ist länger als die Spaltendefinition – Jens

+0

Fügen Sie Ihre SQL-Code und Zieltabelle DDL zu Ihrer Frage hinzu. –

+0

0x80131904 Fehler treten normalerweise auf, wenn eine char-, nchar-, varchar- oder nvarchar-Spalte mit bestimmter Grenze mit einer größeren Menge an Zeichen aus einer bestimmten Anwendung eingefügt wird. Überprüfen Sie zuerst Ihre Tabellenentwurfsstruktur. –

Antwort

2

Diese Ausnahme wird ausgelöst, wenn C# (Modell) versucht, den Datensatz für die Spalte zu speichern, deren Größe in der SQL SERVER-Datenbanktabelle weniger definiert ist.

Um diesen Fehler zu beheben, müssen Sie nur die Spalte der Tabelle in SQL SERVER-Datenbank mit SQL Server-Skript ändern.

Nur zunehmende Größe der Spalte in der Tabelle funktioniert. Sie müssen die Anwendung nicht erneut in der PROD/TEST-Umgebung bereitstellen.

1

Bitte beachten Sie das folgende Beispiel.

Betrachten Sie Spalte1 ihre Größe ist 3, aber der angegebene Wert hat die Länge 4, so dass Sie den Fehler erhalten würden.

Um den Fehler zu beheben.

Sie sollten den String-Wert kleiner als oder gleich es Größe dh 3 Zeichen wie unten passieren.

INSERT INTO MyTable VALUES (1, 'tes') 

Wenn Sie möchten, um diesen Fehler zu unterdrücken

können Sie die folgenden ANSI_WARNINGS Parameter verwenden, auf off

SET ansi_warnings OFF 

wenn wir ANSI_WARNINGS als OFF verwenden, wäre der Fehler unterdrückt werden und was können passen in die Spalte, würde eingefügt, der Rest wäre abgeschnitten.

INSERT INTO MyTable VALUES (1, 'test') 

die Zeichenfolge ‚tes‘ würde in der Tabelle gespeichert werden, und es wird einen Fehler nicht zurück.

Verwandte Themen