SqlFileStream Klasse

Definition

Macht SQL Server-Daten verfügbar, die mit dem FILESTREAM-Spaltenattribut als Bytesequenz gespeichert wurden.Exposes SQL Server data that is stored with the FILESTREAM column attribute as a sequence of bytes.

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 varbinary(max) mit Daten zu arbeiten, die mit dem FILESTREAM-Attribut in einer SQL Server 2008-Datenbank gespeichert werden.The SqlFileStream class is used to work with varbinary(max) data stored with the FILESTREAM attribute in a SQL Server 2008 database. Sie müssen den .NET Framework 3,5 SP1 (oder höher) installieren, um SqlFileStream mit FILESTREAM-Daten arbeiten zu können.You must install the .NET Framework 3.5 SP1 (or later) to use SqlFileStream to work with FILESTREAM data.

Das Angeben des FILESTREAM-Attributs für eine varbinary(max) Spalte bewirkt, dass SQL Server die Daten im lokalen NTFS-Dateisystem anstatt in der Datenbankdatei speichert.Specifying the FILESTREAM attribute on a varbinary(max) column causes SQL Server to store the data in the local NTFS file system instead of in the database file. Transact-SQL-Anweisungen bieten Daten Bearbeitungsfunktionen innerhalb des Servers, und Win32-Dateisystem Schnittstellen stellen Streamingzugriff auf die Daten bereit.Transact-SQL statements provide data manipulation capabilities within the server, and Win32 file system interfaces provide streaming access to the data.

Hinweis

Einzelne Dateien, die in einer FILESTREAM-Spalte gespeichert sind, können nicht direkt aus dem NTFS-Dateisystem geöffnet werden.Individual files stored in a FILESTREAM column cannot be opened directly from the NTFS file system. Das Streamen von FILESTREAM-Daten funktioniert nur im Kontext einer SQL Server Transaktion.Streaming FILESTREAM data works only in the context of a SQL Server transaction.

Die SqlFileStream -Klasse wird von der Stream -Klasse abgeleitet, die eine Abstraktion einer Byte Sequenz aus einer beliebigen Datenquelle (z. b. einer Datei oder einem Speicherblock) darstellt.The SqlFileStream class is derived from the Stream class, which represents an abstraction of a sequence of bytes from some arbitrary data source such as a file or a block of memory. Sie können aus einem FileStream lesen, indem Sie Daten aus einem Stream in eine Datenstruktur, z. b. ein Bytearray, übertragen.You can read from a FILESTREAM by transferring data from a stream into a data structure such as an array of bytes. Sie können in einen FileStream schreiben, indem Sie die Daten aus einer Datenstruktur in einen Stream übertragen.You can write to a FILESTREAM by transferring the data from a data structure into a stream. Sie können auch innerhalb des Streams suchen, sodass Sie Daten an der aktuellen Position im Stream Abfragen und ändern können.You can also seek within the stream, which allows you to query and modify data at the current position within the stream.

Konzeptionelle Dokumentation und Codebeispiele finden Sie unter FILESTREAM-Daten.For conceptual documentation and code examples, see FILESTREAM Data.

Dokumentation zum Einrichten und Konfigurieren von FILESTREAM-Daten auf SQL Server finden Sie unter Entwerfen und Implementieren von FILESTREAM-Speicher in SQL Server 2008-Online Dokumentation.For documentation about setting up and configuring FILESTREAM data on SQL Server, see Designing and Implementing FILESTREAM Storage in SQL Server 2008 Books Online.

Konstruktoren

SqlFileStream(String, Byte[], FileAccess)

Initialisiert eine neue Instanz der SqlFileStream-Klasse.Initializes a new instance of the SqlFileStream class.

SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64)

Initialisiert eine neue Instanz der SqlFileStream-Klasse.Initializes a new instance of the SqlFileStream class.

Eigenschaften

CanRead

Ruft einen Wert ab, der angibt, ob der aktuelle Stream Lesevorgänge unterstützt.Gets a value indicating whether the current stream supports reading.

CanSeek

Ruft einen Wert ab, der angibt, ob der aktuelle Stream Suchvorgänge unterstützt.Gets a value indicating whether the current stream supports seeking.

CanTimeout

Ruft einen Wert ab, der angibt, ob für den aktuellen Stream ein Timeout möglich ist.Gets a value indicating whether the current stream can time out.

CanWrite

Ruft einen Wert ab, der angibt, ob der aktuelle Stream Schreibvorgänge unterstützt.Gets a value indicating whether the current stream supports writing.

Length

Ruft einen Wert ab, der die Länge des aktuellen Streams in Byte angibt.Gets a value indicating the length of the current stream in bytes.

Name

Ruft den logischen Pfad des an den Konstruktor übergebenen SqlFileStream ab.Gets the logical path of the SqlFileStream passed to the constructor.

Position

Ruft die Position im aktuellen Stream ab oder legt diese fest.Gets or sets the position within the current stream.

ReadTimeout

Ruft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Lesevorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

TransactionContext

Ruft den Transaktionskontext für dieses SqlFileStream-Objekt ab oder legt den Kontext fest.Gets or sets the transaction context for this SqlFileStream object.

WriteTimeout

Ruft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Schreibvorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

Methoden

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Beginnt einen asynchronen Lesevorgang.Begins an asynchronous read operation.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Beginnt einen asynchronen Schreibvorgang.Begins an asynchronous write operation.

Close()

Schließt den aktuellen Stream und gibt alle dem aktuellen Stream zugeordneten Ressourcen frei (z. B. Sockets und Dateihandles).Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Anstatt diese Methode aufzurufen, stellen Sie sicher, dass der Stream ordnungsgemäß freigegeben wird.Instead of calling this method, ensure that the stream is properly disposed.

(Geerbt von Stream)
CopyTo(Stream)

Liest alle Bytes aus dem aktuellen Stream und schreibt sie in einen anderen Datenstrom.Reads the bytes from the current stream and writes them to another stream.

(Geerbt von Stream)
CopyTo(Stream, Int32)

Liest alles Bytes aus dem aktuellen Datenstrom und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen anderen Datenstrom.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Geerbt von Stream)
CopyToAsync(Stream)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie in einen anderen Stream.Asynchronously reads the bytes from the current stream and writes them to another stream.

(Geerbt von Stream)
CopyToAsync(Stream, CancellationToken)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie unter Verwendung eines angegebenen Abbruchtokens in einen anderen Stream.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Geerbt von Stream)
CopyToAsync(Stream, Int32)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen anderen Stream.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Geerbt von Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie unter Verwendung einer angegebenen Puffergröße und eines Abbruchtokens in einen anderen Stream.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(Geerbt von Stream)
CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Geerbt von MarshalByRefObject)
CreateWaitHandle()

Reserviert ein WaitHandle-Objekt.Allocates a WaitHandle object.

(Geerbt von Stream)
Dispose()

Gibt alle vom Stream verwendeten Ressourcen frei.Releases all resources used by the Stream.

(Geerbt von Stream)
Dispose(Boolean)

Gibt die von Stream verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

(Geerbt von Stream)
DisposeAsync()

Gibt die nicht verwalteten Ressourcen, die von der Stream verwendet werden, asynchron frei.Asynchronously releases the unmanaged resources used by the Stream.

(Geerbt von Stream)
EndRead(IAsyncResult)

Wartet, bis der ausstehende asynchrone Lesevorgang abgeschlossen ist.Waits for the pending asynchronous read to complete.

EndWrite(IAsyncResult)

Beendet einen asynchronen Schreibvorgang.Ends an asynchronous write operation.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
Finalize()

Stellt das Freigeben von Ressourcen und das Ausführen anderer Bereinigungsvorgänge sicher, wenn der Garbage Collector den SqlFileStream verarbeitet.Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the SqlFileStream.

Flush()

Löscht sämtliche Puffer für diesen Stream und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät.clears all buffers for this stream and causes any buffered data to be written to the underlying device.

FlushAsync()

Löscht sämtliche Puffer für diesen Stream asynchron und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Geerbt von Stream)
FlushAsync(CancellationToken)

Löscht alle Puffer für diesen Stream asynchron und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät und überwacht Abbruchanforderungen.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

(Geerbt von Stream)
GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetLifetimeService()

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
InitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.Obtains a lifetime service object to control the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.Creates a shallow copy of the current MarshalByRefObject object.

(Geerbt von MarshalByRefObject)
ObjectInvariant()

Bietet Unterstützung für einen Contract.Provides support for a Contract.

(Geerbt von Stream)
Read(Byte[], Int32, Int32)

Liest eine Bytesequenz aus dem aktuellen Stream und setzt die Position in diesem Stream um die Anzahl der gelesenen Bytes nach vorn.Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

Read(Span<Byte>)

Liest beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes aus dem aktuellen Stream und erhöht die Position im Stream um die Anzahl der gelesenen Bytes.When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Geerbt von Stream)
ReadAsync(Byte[], Int32, Int32)

Liest eine Bytesequenz asynchron aus dem aktuellen Stream und setzt die Position in diesem Stream um die Anzahl der gelesenen Bytes nach vorn.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Geerbt von Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Liest eine Folge von Bytes asynchron aus aktuellen Stream, erhöht die Position im Stream um die Anzahl der gelesenen Bytes und überwacht Abbruchanfragen.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(Geerbt von Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Liest eine Folge von Bytes asynchron aus aktuellen Stream, erhöht die Position im Stream um die Anzahl der gelesenen Bytes und überwacht Abbruchanfragen.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(Geerbt von Stream)
ReadByte()

Liest ein Byte aus dem Stream und erhöht die Position im Stream um ein Byte, oder gibt -1 zurück, wenn das Ende des Streams erreicht ist.Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

Seek(Int64, SeekOrigin)

Legt die Position im aktuellen Stream fest.Sets the position within the current stream.

SetLength(Int64)

Legt die Länge des aktuellen Streams fest.Sets the length of the current stream.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)
Write(Byte[], Int32, Int32)

Schreibt eine Bytesequenz in den aktuellen Stream und setzt die aktuelle Position in diesem Stream um die Anzahl der geschriebenen Bytes nach vorn.Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

Write(ReadOnlySpan<Byte>)

Schreibt beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes in den aktuellen Stream und erhöht die aktuelle Position im Stream um die Anzahl der geschriebenen Bytes.When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Geerbt von Stream)
WriteAsync(Byte[], Int32, Int32)

Schreibt eine Bytesequenz asynchron in den aktuellen Stream und setzt die aktuelle Position in diesem Stream um die Anzahl der geschriebenen Bytes nach vorn.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Geerbt von Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Schreibt beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes asynchron in den aktuellen Stream und erhöht die aktuelle Position im Stream um die Anzahl der geschriebenen Bytes und überwacht Abbruchanforderungen.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(Geerbt von Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Schreibt beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes asynchron in den aktuellen Stream und erhöht die aktuelle Position im Stream um die Anzahl der geschriebenen Bytes und überwacht Abbruchanforderungen.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(Geerbt von Stream)
WriteByte(Byte)

Schreibt ein Byte an die aktuellen Position im Stream und erhöht die aktuelle Position im Stream um ein Byte.Writes a byte to the current position in the stream and advances the position within the stream by one byte.

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Gibt alle vom Stream verwendeten Ressourcen frei.Releases all resources used by the Stream.

(Geerbt von Stream)

Erweiterungsmethoden

CopyToAsync(Stream, PipeWriter, CancellationToken)

Liest die Bytes asynchron aus der Stream-Klasse und schreibt sie unter Verwendung eines Abbruchtokens in die angegebene PipeWriter-Klasse.Asynchronously reads the bytes from the Stream and writes them to the specified PipeWriter, using a cancellation token.

AsInputStream(Stream)

Konvertiert einen verwalteten Stream in .NET für Microsoft Store-Apps in einen Eingabestream in der Windows-Runtime.Converts a managed stream in the .NET for Windows Store apps to an input stream in the Windows Runtime.

AsOutputStream(Stream)

Konvertiert einen verwalteten Stream in .NET für Microsoft Store-Apps in einen Ausgabestream in der Windows-Runtime.Converts a managed stream in the .NET for Windows Store apps to an output stream in the Windows Runtime.

AsRandomAccessStream(Stream)

Konvertiert den angegebenen Stream in einen Random-Access-Stream.Converts the specified stream to a random access stream.

Gilt für:

Siehe auch