Ich habe dieses Problem vor kurzem. Ich habe eine "Status" -Nachricht in einem nvarcharMAX DB-Feld mit 4000 Zeichen gespeichert. Meine Statusmeldungen bauten sich jedoch auf und trafen die Ausnahme.
Aber es war kein einfacher Fall des Abschneidens, da ein beliebiges Abschneiden einen Teil einer Statusmeldung verwaisen würde, also musste ich wirklich an einem konsistenten Teil der Zeichenfolge "abschneiden".
Ich habe das Problem gelöst, indem ich den String in ein String-Array konvertiert, das erste Element entfernt und dann in einen String wiederhergestellt habe. Hier ist der Code ("CurrentStatus" ist die Zeichenfolge, die die Daten enthält) ...
if (CurrentStatus.Length >= 3750)
{
string[] statusArray = CurrentStatus.Split(new string[] { "." }, StringSplitOptions.None)
.Skip(1).ToArray();
CurrentStatus = (string.Join(".", statusArray))
.Replace("\\r\\n", Environment.NewLine);
}
Hoffe es hilft jemandem aus.