SqlFileStream Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Macht SQL Server-Daten verfügbar, die mit dem FILESTREAM-Spaltenattribute als Bytesequenz gespeichert werden.
public ref class SqlFileStream sealed : System::IO::Stream
public sealed class SqlFileStream : System.IO.Stream
type SqlFileStream = class
inherit Stream
Public NotInheritable Class SqlFileStream
Inherits Stream
- Vererbung
Hinweise
Die SqlFileStream Klasse wird verwendet, um mit varbinary(max) Daten zu arbeiten, die mit dem FILESTREAM-Attribut in einer SQL Server 2008-Datenbank gespeichert sind. Sie müssen .NET Framework 3.5 SP1 (oder höher) installieren, um SqlFileStream mit FILESTREAM-Daten zu arbeiten.
Wenn Sie das FILESTREAM-Attribut für eine varbinary(max) Spalte angeben, speichert SQL Server die Daten nicht in der Datenbankdatei, sondern im lokalen NTFS-Dateisystem. Transact-SQL Anweisungen bieten Datenmanipulationsfunktionen innerhalb des Servers, und Win32-Dateisystemschnittstellen bieten Streamingzugriff auf die Daten.
Note
Einzelne Dateien, die in einer FILESTREAM-Spalte gespeichert sind, können nicht direkt aus dem NTFS-Dateisystem geöffnet werden. Das Streamen von FILESTREAM-Daten funktioniert nur im Kontext einer SQL Server-Transaktion.
Die SqlFileStream Klasse wird von der Stream Klasse abgeleitet, die eine Abstraktion einer Abstraktion einer Byteabfolge aus einer beliebigen Datenquelle wie einer Datei oder einem Speicherblock darstellt. Sie können aus einem FILESTREAM lesen, indem Sie Daten aus einem Datenstrom in eine Datenstruktur wie ein Bytearray übertragen. Sie können in einen FILESTREAM schreiben, indem Sie die Daten aus einer Datenstruktur in einen Datenstrom übertragen. Sie können auch innerhalb des Datenstroms suchen, mit dem Sie Daten an der aktuellen Position innerhalb des Datenstroms abfragen und ändern können.
Konzeptionelle Dokumentation und Codebeispiele finden Sie unter FILESTREAM Data.
Konstruktoren
| Name | Beschreibung |
|---|---|
| SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64) |
Initialisiert eine neue Instanz der SqlFileStream-Klasse. |
| SqlFileStream(String, Byte[], FileAccess) |
Initialisiert eine neue Instanz der SqlFileStream-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CanRead |
Ruft einen Wert ab, der angibt, ob der aktuelle Datenstrom das Lesen unterstützt. |
| CanSeek |
Ruft einen Wert ab, der angibt, ob der aktuelle Datenstrom die Suche unterstützt. |
| CanTimeout |
Ruft einen Wert ab, der angibt, ob der aktuelle Datenstrom timeout kann. |
| CanWrite |
Ruft einen Wert ab, der angibt, ob der aktuelle Datenstrom das Schreiben unterstützt. |
| Length |
Ruft einen Wert ab, der die Länge des aktuellen Datenstroms in Byte angibt. |
| Name |
Ruft den logischen Pfad des SqlFileStream an den Konstruktor übergebenen ab. |
| Position |
Ruft die Position innerhalb des aktuellen Datenstroms ab oder legt sie fest. |
| ReadTimeout |
Dient zum Abrufen oder Festlegen eines Werts in Millisekunden, der bestimmt, wie lange der Datenstrom vor dem Timeout zu lesen versucht. |
| TransactionContext |
Dient zum Abrufen oder Festlegen des Transaktionskontexts für dieses SqlFileStream Objekt. |
| WriteTimeout |
Dient zum Abrufen oder Festlegen eines Werts in Millisekunden, der bestimmt, wie lange der Datenstrom versucht, vor dem Timeout zu schreiben. |
Methoden
| Name | Beschreibung |
|---|---|
| BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Startet einen asynchronen Lesevorgang. |
| BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Startet einen asynchronen Schreibvorgang. |
| Close() |
Schließt den aktuellen Datenstrom und gibt alle Ressourcen (z. B. Sockets und Dateihandles) frei, die dem aktuellen Datenstrom zugeordnet sind. Anstatt diese Methode aufzurufen, stellen Sie sicher, dass der Datenstrom ordnungsgemäß verworfen ist. (Geerbt von Stream) |
| CopyTo(Stream, Int32) |
Liest die Bytes aus dem aktuellen Datenstrom und schreibt sie mithilfe einer angegebenen Puffergröße in einen anderen Datenstrom. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert. (Geerbt von Stream) |
| CopyTo(Stream) |
Liest die Bytes aus dem aktuellen Datenstrom und schreibt sie in einen anderen Datenstrom. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert. (Geerbt von Stream) |
| CopyToAsync(Stream, Int32, CancellationToken) |
Liest asynchron die Bytes aus dem aktuellen Datenstrom und schreibt sie in einen anderen Datenstrom, wobei eine angegebene Puffergröße und ein Abbruchtoken verwendet wird. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert. (Geerbt von Stream) |
| CopyToAsync(Stream, Int32) |
Liest die Bytes asynchron aus dem aktuellen Datenstrom und schreibt sie mithilfe einer angegebenen Puffergröße in einen anderen Datenstrom. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert. (Geerbt von Stream) |
| CopyToAsync(Stream) |
Liest die Bytes asynchron aus dem aktuellen Datenstrom und schreibt sie in einen anderen Datenstrom. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert. (Geerbt von Stream) |
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| CreateWaitHandle() |
Veraltet.
Veraltet.
Veraltet.
Ordnet ein WaitHandle Objekt zu. (Geerbt von Stream) |
| Dispose() |
Veröffentlicht alle ressourcen, die von der Stream. (Geerbt von Stream) |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den Stream verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. (Geerbt von Stream) |
| EndRead(IAsyncResult) |
Wartet auf den Abschluss des ausstehenden asynchronen Lesevorgangs. |
| EndWrite(IAsyncResult) |
Beendet einen asynchronen Schreibvorgang. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| Finalize() |
Stellt sicher, dass Ressourcen freigegeben werden und andere Bereinigungsvorgänge ausgeführt werden, wenn der Garbage Collector die SqlFileStream. |
| Flush() |
löscht alle Puffer für diesen Datenstrom und bewirkt, dass alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben werden. |
| FlushAsync() |
Löscht asynchron alle Puffer für diesen Datenstrom und bewirkt, dass alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben werden. (Geerbt von Stream) |
| FlushAsync(CancellationToken) |
Löscht asynchron alle Puffer für diesen Datenstrom, bewirkt, dass alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben werden, und überwacht Abbruchanforderungen. (Geerbt von Stream) |
| GetHashCode() |
Dient als die Standard-Hashfunktion (Geerbt von Object) |
| GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts. (Geerbt von MarshalByRefObject) |
| ObjectInvariant() |
Veraltet.
Bietet Unterstützung für ein Contract. (Geerbt von Stream) |
| Read(Byte[], Int32, Int32) |
Liest eine Abfolge von Bytes aus dem aktuellen Datenstrom und wechselt die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes. |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Liest asynchron eine Abfolge von Bytes aus dem aktuellen Datenstrom, wechselt die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes und überwacht Abbruchanforderungen. (Geerbt von Stream) |
| ReadAsync(Byte[], Int32, Int32) |
Liest asynchron eine Abfolge von Bytes aus dem aktuellen Datenstrom und wechselt die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes. (Geerbt von Stream) |
| ReadByte() |
Liest ein Byte aus dem Datenstrom und wechselt die Position innerhalb des Datenstroms um ein Byte oder gibt -1 zurück, wenn am Ende des Datenstroms. |
| Seek(Int64, SeekOrigin) |
Legt die Position innerhalb des aktuellen Datenstroms fest. |
| SetLength(Int64) |
Legt die Länge des aktuellen Datenstroms fest. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
| Write(Byte[], Int32, Int32) |
Schreibt eine Folge von Bytes in den aktuellen Datenstrom und wechselt die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes. |
| WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Schreibt asynchron eine Bytesequenz in den aktuellen Datenstrom, wechselt die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes und überwacht Abbruchanforderungen. (Geerbt von Stream) |
| WriteAsync(Byte[], Int32, Int32) |
Schreibt asynchron eine Bytesequenz in den aktuellen Datenstrom und wechselt die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes. (Geerbt von Stream) |
| WriteByte(Byte) |
Schreibt ein Byte in die aktuelle Position im Datenstrom und wechselt die Position innerhalb des Datenstroms um ein Byte. |