Partage via


SqlFileStream Classe

Définition

Expose des données SQL Server qui sont stockées avec l’attribut de colonne FILESTREAM en tant que séquence d’octets.

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
Héritage

Remarques

La SqlFileStream classe est utilisée pour utiliser des varbinary(max) données stockées avec l’attribut FILESTREAM dans une base de données SQL Server 2008. Vous devez installer .NET Framework 3.5 SP1 (ou version ultérieure) à utiliser pour utiliser SqlFileStream les données FILESTREAM.

Si vous spécifiez l’attribut FILESTREAM sur une varbinary(max) colonne, SQL Server stocke les données dans le système de fichiers NTFS local plutôt que dans le fichier de base de données. Les instructions Transact-SQL fournissent des fonctionnalités de manipulation des données au sein du serveur, et les interfaces de système de fichiers Win32 fournissent un accès en streaming aux données.

Notes

Les fichiers individuels stockés dans une colonne FILESTREAM ne peuvent pas être ouverts directement à partir du système de fichiers NTFS. Les données FILESTREAM en streaming fonctionnent uniquement dans le contexte d’une transaction SQL Server.

La SqlFileStream classe est dérivée de la Stream classe, qui représente une abstraction d’une séquence d’octets provenant d’une source de données arbitraire telle qu’un fichier ou un bloc de mémoire. Vous pouvez lire à partir d’un FILESTREAM en transférant des données d’un flux vers une structure de données telle qu’un tableau d’octets. Vous pouvez écrire dans un FILESTREAM en transférant les données d’une structure de données vers un flux. Vous pouvez également rechercher dans le flux, ce qui vous permet d’interroger et de modifier des données à la position actuelle dans le flux.

Pour obtenir de la documentation conceptuelle et des exemples de code, consultez Données FILESTREAM.

Pour obtenir de la documentation sur la configuration et la configuration des données FILESTREAM sur SQL Server, consultez Conception et implémentation du stockage FILESTREAM dans la documentation en ligne de SQL Server 2008.

Constructeurs

SqlFileStream(String, Byte[], FileAccess)

Initialise une nouvelle instance de la classe SqlFileStream.

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

Initialise une nouvelle instance de la classe SqlFileStream.

Propriétés

CanRead

Obtient une valeur indiquant si le flux actuel prend en charge la lecture.

CanSeek

Obtient une valeur indiquant si le flux actuel prend en charge la recherche.

CanTimeout

Obtient une valeur indiquant si le flux actuel peut expirer.

CanWrite

Obtient une valeur indiquant si le flux actuel prend en charge l'écriture.

Length

Obtient une valeur qui indique la longueur du flux actuel en octets.

Name

Obtient le chemin d’accès logique du SqlFileStream passé au constructeur.

Position

Obtient ou définit la position dans le flux actuel.

ReadTimeout

Obtient ou définit une valeur, exprimée en millisecondes, qui définit la durée pendant laquelle le flux tentera d’effectuer la lecture avant dépassement du délai d’attente.

TransactionContext

Obtient ou définit le contexte de transaction pour cet objet SqlFileStream.

WriteTimeout

Obtient ou définit une valeur, exprimée en millisecondes, qui définit la durée pendant laquelle le flux tentera d’écrire des données avant l’expiration du délai d’attente.

Méthodes

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

Débute une opération de lecture asynchrone.

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

Débute une opération d'écriture asynchrone.

Close()

Ferme le flux actuel et libère toutes les ressources (comme les sockets et les handles de fichiers) associées à celui-ci. Au lieu d'appeler cette méthode, assurez-vous que le flux est correctement supprimé.

(Hérité de Stream)
CopyTo(Stream)

Lit les octets du flux actuel et les écrit dans un autre flux. Les deux positions de flux sont avancées par le nombre d’octets copiés.

(Hérité de Stream)
CopyTo(Stream, Int32)

Lit tous les octets du flux actuel et les écrit dans un autre flux, en utilisant une taille de mémoire tampon spécifiée. Les deux positions de flux sont avancées par le nombre d’octets copiés.

(Hérité de Stream)
CopyToAsync(Stream)

Lit de façon asynchrone tous les octets du flux actuel et les écrit dans un autre flux. Les deux positions de flux sont avancées par le nombre d’octets copiés.

(Hérité de Stream)
CopyToAsync(Stream, CancellationToken)

Lit de façon asynchrone les octets du flux actuel et les écrit dans un autre flux, en utilisant un jeton d’annulation spécifié. Les deux positions de flux sont avancées par le nombre d’octets copiés.

(Hérité de Stream)
CopyToAsync(Stream, Int32)

Lit de façon asynchrone tous les octets du flux actuel et les écrit dans un autre flux, en utilisant une taille de mémoire tampon spécifiée. Les deux positions de flux sont avancées par le nombre d’octets copiés.

(Hérité de Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Lit de façon asynchrone les octets du flux actuel et les écrit dans un autre flux, en utilisant une taille de mémoire tampon et d'un jeton d'annulation spécifiés. Les deux positions de flux sont avancées par le nombre d’octets copiés.

(Hérité de Stream)
CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
CreateWaitHandle()
Obsolète.
Obsolète.
Obsolète.

Alloue un objet WaitHandle.

(Hérité de Stream)
Dispose()

Libère toutes les ressources utilisées par Stream.

(Hérité de Stream)
Dispose(Boolean)

Libère les ressources non managées utilisées par Stream et libère éventuellement les ressources managées.

(Hérité de Stream)
DisposeAsync()

Libère de façon asynchrone les ressources non managées utilisées par Stream.

(Hérité de Stream)
EndRead(IAsyncResult)

Attend que la requête asynchrone en attente se termine.

EndWrite(IAsyncResult)

Termine une opération d'écriture asynchrone.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Finalize()

Vérifie que les ressources sont libérées et que toute autre opération de nettoyage est effectuée quand le garbage collector récupère l'élément SqlFileStream.

Flush()

Efface toutes les mémoires tampons pour ce flux et provoque l’écriture des données mises en mémoire tampon sur l’appareil sous-jacent.

FlushAsync()

Efface de façon asynchrone toutes les mémoires tampons pour ce flux et provoque l'écriture des données mises en mémoire tampon sur l'appareil sous-jacent.

(Hérité de Stream)
FlushAsync(CancellationToken)

Efface de façon asynchrone toutes les mémoires tampons pour ce flux, provoque l'écriture des données mises en mémoire tampon sur l'appareil sous-jacent et surveille les requêtes d'annulation.

(Hérité de Stream)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
ObjectInvariant()
Obsolète.

Assure la prise en charge d'un Contract.

(Hérité de Stream)
Read(Byte[], Int32, Int32)

Lit une séquence d'octets dans le flux actuel et avance la position dans le flux du nombre d'octets lus.

Read(Span<Byte>)

En cas de remplacement dans une classe dérivée, lit une séquence d'octets dans le flux actuel et avance la position dans le flux du nombre d'octets lus.

(Hérité de Stream)
ReadAsync(Byte[], Int32, Int32)

Lit de façon asynchrone une séquence d'octets dans le flux actuel et avance la position dans le flux du nombre d'octets lus.

(Hérité de Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lit de façon asynchrone une séquence d'octets dans le flux actuel, avance la position dans le flux du nombre d'octets lus et surveille les demandes d'annulation.

(Hérité de Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Lit de façon asynchrone une séquence d'octets dans le flux actuel, avance la position dans le flux du nombre d'octets lus et surveille les demandes d'annulation.

(Hérité de Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Lit au moins un nombre minimal d’octets du flux actuel et avance la position dans le flux par le nombre d’octets lus.

(Hérité de Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Lit de manière asynchrone au moins un nombre minimal d’octets du flux actuel, avance la position dans le flux en fonction du nombre d’octets lus et surveille les demandes d’annulation.

(Hérité de Stream)
ReadByte()

Lit un octet du flux et avance d'un octet la position au sein du flux, ou retourne -1 si la fin du flux a été atteinte.

ReadExactly(Byte[], Int32, Int32)

Lit le count nombre d’octets du flux actuel et avance la position dans le flux.

(Hérité de Stream)
ReadExactly(Span<Byte>)

Lit les octets du flux actuel et avance la position dans le flux jusqu’à ce que le buffer soit rempli.

(Hérité de Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Lit de manière asynchrone le nombre d’octets count du flux actuel, avance la position dans le flux et surveille les demandes d’annulation.

(Hérité de Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Lit de manière asynchrone les octets du flux actuel, avance la position dans le flux jusqu’à ce que le buffer soit rempli et surveille les demandes d’annulation.

(Hérité de Stream)
Seek(Int64, SeekOrigin)

Définit la position dans le flux actuel.

SetLength(Int64)

Définit la longueur du flux actuel.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
Write(Byte[], Int32, Int32)

Écrit une séquence d’octets dans le flux actuel et avance la position actuelle dans ce flux du nombre d’octets écrits.

Write(ReadOnlySpan<Byte>)

En cas de remplacement dans une classe dérivée, écrit une séquence d'octets dans le flux actuel et avance la position actuelle dans ce flux du nombre d'octets écrits.

(Hérité de Stream)
WriteAsync(Byte[], Int32, Int32)

Écrit de façon asynchrone une séquence d'octets dans le flux actuel et avance la position actuelle dans le flux du nombre d'octets écrits.

(Hérité de Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Écrit de façon asynchrone une séquence d'octets dans le flux actuel, avance la position actuelle dans ce flux du nombre d'octets écrits et surveille les demandes d'annulation.

(Hérité de Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Écrit de façon asynchrone une séquence d'octets dans le flux actuel, avance la position actuelle dans ce flux du nombre d'octets écrits et surveille les demandes d'annulation.

(Hérité de Stream)
WriteByte(Byte)

Écrit un octet à la position actuelle dans le flux et avance d'un octet la position dans le flux.

Méthodes d’extension

CopyToAsync(Stream, PipeWriter, CancellationToken)

Lit de façon asynchrone les octets du Stream et les écrit dans le PipeWriter spécifié en utilisant un jeton d’annulation.

S’applique à

Voir aussi