Frage

Was ist der effizienteste Weg, nur ein Teil der binären Daten von einem varbinary des Lesens (MAX) Feld (nicht mit Filestreams) in SQL Server 2008?

Beim Schreiben von Daten in den Spalt die VarBinary.Write () Funktion in T-SQL verfügbar ist, so dass Bytes auf das Gebiet schrittweise geschrieben werden, aber es scheint nicht eine ähnliche Funktion zur Verfügung steht zum Lesen von Daten.

Ich weiß, der DataReader.GetBytes () -Methode in .Net, die nur die Bytes wählen, werden Sie fragen, aber ist dies eine Performance-Overhead mit sich tragen? das heißt wird die Auswahl in Sqlserver alle Bytes in der Datenbank gelesen und dann die getBytes geben () -Methode alle diese Bytes für den Teilmenge von Bytes von ihnen angeforderten nehmen?

Vielen Dank für jede Hilfe.

War es hilfreich?

Lösung

Sie verwenden SUBSTRING . Diese liest einen Ausschnitt aus Ihren varbinary Daten auf dem Server, und nur gibt den Code-Schnipsel an den Client.

Andere Tipps

DataReader.GetBytes() Verwendung möglich ist, ohne Overhead, afaik. Aber Sie haben die ExecuteReader() mit der CommandBehavior.SequentialAccess Option aufzurufen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top