Ein anderes interessantes Phänomen lief mir gerade über den Weg: Liest man aus einem SQL Server eine richtig lange Zeichenkette (z.B. mehr als 2000 Zeichen, z.B. mit einer ‘FOR XML …’ Transformation im Select) wird einem das Ergebnis willkürlich bei um die 1000 Zeichen abgeschitten.
Eine generelle Workaroundfunktion ist schnell gebastelt:
Private Shared Function GetLongStringData(ByVal statement As String) As String Dim sql As New System.Data.SqlClient.SqlCommand() Dim con As New System.Data.SqlClient.SqlConnection() con.ConnectionString = "connectionstring" sql.CommandText = statement sql.Connection = con con.Open() Dim r As System.Data.SqlClient.SqlDataReader = sql.ExecuteReader() Dim strbuilder As New StringBuilder() While r.Read() strbuilder.Append(r(0)) End While con.Close() Return strbuilder.ToString() End Function
Stellt sich allerdings nach wie vor die Frage warum die Daten abgeschnitten werden. Im SQL Server Management Studio wird alles korrekt angezeigt. Ich vermute das Problem liegt irgendwo bei der Übergabe vom SQL Server in den .Net String. Wenn jemand eine Idee hat, möge er sich bei mir melden. :)



