SqlFileStream Constructeurs

Définition

Initialise une nouvelle instance de la classe SqlFileStream.

Surcharges

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.

Remarques

Le tableau suivant répertorie les autorisations de sécurité d’accès au code (CAS) que tous les appelants de la pile doivent avoir pour utiliser les SqlFileStream constructeurs.

Accès aux fichiers Autorisation
Lire Read
Write Write
Lecture/écriture Read et Write

Pour plus d’informations sur le cas cas, consultez Sécurité et ADO.NET d’accès au code.

SqlFileStream(String, Byte[], FileAccess)

Initialise une nouvelle instance de la classe SqlFileStream.

public:
 SqlFileStream(System::String ^ path, cli::array <System::Byte> ^ transactionContext, System::IO::FileAccess access);
public SqlFileStream (string path, byte[] transactionContext, System.IO.FileAccess access);
new System.Data.SqlTypes.SqlFileStream : string * byte[] * System.IO.FileAccess -> System.Data.SqlTypes.SqlFileStream
Public Sub New (path As String, transactionContext As Byte(), access As FileAccess)

Paramètres

path
String

Chemin logique du fichier. Le chemin peut être récupéré à l’aide de la fonction Transact-SQL Pathname sur la colonne FILESTREAM sous-jacente dans la table.

transactionContext
Byte[]

Contexte de transaction de l’objet SqlFileStream. Les applications doivent renvoyer le tableau d’octets retourné en appelant la méthode GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Mode d’accès à utiliser à l’ouverture du fichier. Les valeurs d’énumération FileAccess prises en charge sont Read, Write et ReadWrite.

Quand vous utilisez FileAccess.Read, l’objet SqlFileStream peut servir à lire toutes les données existantes.

Quand vous utilisez FileAccess.Write, SqlFileStream pointe vers un fichier de zéro octet. Les données existantes sont écrasées quand l’objet est fermé et la transaction validée.

Quand vous utilisez FileAccess.ReadWrite, SqlFileStream pointe vers un fichier qui contient toutes les données existantes. Le handle est positionné au début du fichier. Vous pouvez utiliser l’une des méthodes System.IOSeek pour déplacer la position du handle au sein du fichier afin d’écrire ou d’ajouter de nouvelles données.

Exceptions

path est une référence Null, ou transactionContext est Null.

path est une chaîne vide (""), contient seulement un espace blanc ou contient un ou plusieurs caractères non valides.

path commence par "\\.\", par exemple "\\.\PHYSICALDRIVE0 ".

Le handle retourné par l’appel à NTCreateFile n’est pas du type FILE_TYPE_DISK.

options contient une valeur non prise en charge.

Fichier introuvable.

Une erreur d'E/S s'est produite.

L'appelant n'a pas l'autorisation requise.

Le path spécifié n’est pas valide ; il est, par exemple, sur un lecteur non mappé.

L’accès demandé n’est pas autorisé par le système d’exploitation pour le chemin spécifié. Cela se produit quand l’accès Write ou ReadWrite est spécifié et que le fichier ou répertoire est défini pour un accès en lecture seule.

NtCreateFile échoue avec le code d’erreur défini sur ERROR_SHARING_VIOLATION.

Remarques

Si une exception est levée, toutes les transactions ouvertes doivent être restaurées. Sinon, une perte de données peut se produire.

Voir aussi

S’applique à

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

Initialise une nouvelle instance de la classe SqlFileStream.

public:
 SqlFileStream(System::String ^ path, cli::array <System::Byte> ^ transactionContext, System::IO::FileAccess access, System::IO::FileOptions options, long allocationSize);
public SqlFileStream (string path, byte[] transactionContext, System.IO.FileAccess access, System.IO.FileOptions options, long allocationSize);
new System.Data.SqlTypes.SqlFileStream : string * byte[] * System.IO.FileAccess * System.IO.FileOptions * int64 -> System.Data.SqlTypes.SqlFileStream
Public Sub New (path As String, transactionContext As Byte(), access As FileAccess, options As FileOptions, allocationSize As Long)

Paramètres

path
String

Chemin logique du fichier. Le chemin peut être récupéré à l’aide de la fonction Transact-SQL Pathname sur la colonne FILESTREAM sous-jacente dans la table.

transactionContext
Byte[]

Contexte de transaction de l’objet SqlFileStream. Quand la valeur est Null, une transaction implicite est utilisée pour l’objet SqlFileStream. Les applications doivent renvoyer le tableau d’octets retourné en appelant la méthode GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Mode d’accès à utiliser à l’ouverture du fichier. Les valeurs d’énumération FileAccess prises en charge sont Read, Write et ReadWrite.

Quand vous utilisez FileAccess.Read, l’objet SqlFileStream peut servir à lire toutes les données existantes.

Quand vous utilisez FileAccess.Write, SqlFileStream pointe vers un fichier de zéro octet. Les données existantes sont écrasées quand l’objet est fermé et la transaction validée.

Quand vous utilisez FileAccess.ReadWrite, SqlFileStream pointe vers un fichier qui contient toutes les données existantes. Le handle est positionné au début du fichier. Vous pouvez utiliser l’une des méthodes System.IOSeek pour déplacer la position du handle au sein du fichier afin d’écrire ou d’ajouter de nouvelles données.

options
FileOptions

Spécifie l’option à utiliser pendant l’ouverture du fichier. Les valeurs de FileOptions prises en charge sont Asynchronous, WriteThrough, SequentialScan et RandomAccess.

allocationSize
Int64

Taille d’allocation à utiliser pendant la création d’un fichier. Si la valeur est 0, la valeur par défaut est utilisée.

Exceptions

path est une référence Null, ou transactionContext est Null.

path est une chaîne vide (""), contient seulement un espace blanc ou contient un ou plusieurs caractères non valides.

path commence par "\\.\", par exemple "\\.\PHYSICALDRIVE0 ".

Le handle retourné par l’appel à NTCreateFile n’est pas du type FILE_TYPE_DISK.

options contient une valeur non prise en charge.

Fichier introuvable.

Une erreur d'E/S s'est produite.

L'appelant n'a pas l'autorisation requise.

Le path spécifié n’est pas valide ; il est, par exemple, sur un lecteur non mappé.

L’accès demandé n’est pas autorisé par le système d’exploitation pour le chemin spécifié. Cela se produit quand l’accès Write ou ReadWrite est spécifié et que le fichier ou répertoire est défini pour un accès en lecture seule.

NtCreateFile échoue avec le code d’erreur défini sur ERROR_SHARING_VIOLATION.

Remarques

Si une exception est levée, toutes les transactions ouvertes doivent être restaurées. Sinon, une perte de données peut se produire.

Voir aussi

S’applique à