SqlFileStream Constructeurs
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise une nouvelle instance de la classe SqlFileStream.
Surcharges
| Nom | Description |
|---|---|
| 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 à utiliser les SqlFileStream constructeurs.
| Accès aux fichiers | Autorisation |
|---|---|
| Read | Read |
| Write | Write |
| Lecture/écriture | Read et Write |
Pour plus d’informations sur cas, consultez Code Access Security et ADO.NET.
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 d’accès peut être récupéré à l’aide de la fonction pathname Transact-SQL sur la colonne FILESTREAM sous-jacente de la table.
- transactionContext
- Byte[]
Contexte de transaction de l’objet SqlFileStream . Les applications doivent retourner le tableau d’octets retourné en appelant la méthode GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
Mode d’accès à utiliser lors de l’ouverture du fichier. Les valeurs d’énumération prises en charge FileAccess sont Read, Writeet ReadWrite.
Lors de l’utilisation FileAccess.Read, l’objet SqlFileStream peut être utilisé pour lire toutes les données existantes.
Lors de l’utilisation FileAccess.Write, SqlFileStream pointe vers un fichier d’octets zéro. Les données existantes sont remplacées lorsque l’objet est fermé et que la transaction est validée.
Lors de l’utilisation FileAccess.ReadWrite, les SqlFileStream points 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 System.IOSeek méthodes pour déplacer la position de handle dans le fichier pour écrire ou ajouter de nouvelles données.
Exceptions
path est une référence Null ou transactionContext a la valeur Null.
path est une chaîne vide ( » « ), contient uniquement un espace blanc ou contient un ou plusieurs caractères non valides.
-OU-
path commence par « \\.\ », par exemple « \\.\PHYSICALDRIVE0 ».
-OU-
Le handle retourné par l’appel à NTCreateFile n’est pas de type FILE_TYPE_DISK.
Le fichier est introuvable.
Une erreur d’E/S s’est produite.
L’appelant n’a pas l’autorisation requise.
La valeur spécifiée path n’est pas valide, 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 lorsque l’accès Écriture ou LectureWrite est spécifié, et que le fichier ou le répertoire est défini pour l’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, la 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 d’accès peut être récupéré à l’aide de la fonction pathname Transact-SQL sur la colonne FILESTREAM sous-jacente de la table.
- transactionContext
- Byte[]
Contexte de transaction de l’objet SqlFileStream . Lorsqu’elle est définie sur Null, une transaction implicite est utilisée pour l’objet SqlFileStream . Les applications doivent retourner le tableau d’octets retourné en appelant la méthode GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
Mode d’accès à utiliser lors de l’ouverture du fichier. Les valeurs d’énumération prises en charge FileAccess sont Read, Writeet ReadWrite.
Lors de l’utilisation FileAccess.Read, l’objet SqlFileStream peut être utilisé pour lire toutes les données existantes.
Lors de l’utilisation FileAccess.Write, SqlFileStream pointe vers un fichier d’octets zéro. Les données existantes sont remplacées lorsque l’objet est fermé et que la transaction est validée.
Lors de l’utilisation FileAccess.ReadWrite, les SqlFileStream points 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 System.IOSeek méthodes pour déplacer la position de handle dans le fichier pour écrire ou ajouter de nouvelles données.
- options
- FileOptions
Spécifie l’option à utiliser lors de l’ouverture du fichier. Les valeurs prises en charge FileOptions sont Asynchronous, , WriteThroughSequentialScanet RandomAccess.
- allocationSize
- Int64
Taille d’allocation à utiliser lors de la création d’un fichier. Si la valeur est définie sur 0, la valeur par défaut est utilisée.
Exceptions
path est une référence Null ou transactionContext a la valeur Null.
path est une chaîne vide ( » « ), contient uniquement un espace blanc ou contient un ou plusieurs caractères non valides.
path commence par « \\.\ », par exemple « \\.\PHYSICALDRIVE0 ».
Le handle retourné par appel à NTCreateFile n’est pas de type FILE_TYPE_DISK.
options contient une valeur non prise en charge.
Le fichier est introuvable.
Une erreur d’E/S s’est produite.
L’appelant n’a pas l’autorisation requise.
La valeur spécifiée path n’est pas valide, 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 lorsque l’accès Écriture ou LectureWrite est spécifié, et que le fichier ou le répertoire est défini pour l’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, la perte de données peut se produire.