SqlFileStream Constructors

Definitie

Initialiseert een nieuw exemplaar van de SqlFileStream klasse.

Overloads

Name Description
SqlFileStream(String, Byte[], FileAccess)

Initialiseert een nieuw exemplaar van de SqlFileStream klasse.

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

Initialiseert een nieuw exemplaar van de SqlFileStream klasse.

Opmerkingen

De volgende tabel bevat de CAS-machtigingen (Code Access Security) die alle bellers in de stack nodig hebben om de SqlFileStream constructors te gebruiken.

Bestandstoegang Toestemming
Lezen Read
Write Write
LezenSchrijven Read en Write

Zie Code Access Security and ADO.NET voor meer informatie over CAS.

SqlFileStream(String, Byte[], FileAccess)

Bron:
System.Data.SqlClient.notsupported.cs

Initialiseert een nieuw exemplaar van de SqlFileStream klasse.

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)

Parameters

path
String

Het logische pad naar het bestand. Het pad kan worden opgehaald met behulp van de functie Transact-SQL Pathname in de onderliggende FILESTREAM-kolom in de tabel.

transactionContext
Byte[]

De transactiecontext voor het SqlFileStream object. Toepassingen moeten de bytematrix retourneren die wordt geretourneerd door de GET_FILESTREAM_TRANSACTION_CONTEXT methode aan te roepen.

access
FileAccess

De toegangsmodus die moet worden gebruikt bij het openen van het bestand. Ondersteunde FileAccess opsommingswaarden zijn Read, Writeen ReadWrite.

Wanneer u het FileAccess.Read object gebruiktSqlFileStream, kan het worden gebruikt om alle bestaande gegevens te lezen.

Wanneer u dit gebruikt FileAccess.Write, SqlFileStream wijst u naar een bytebestand met nul. Bestaande gegevens worden overschreven wanneer het object wordt gesloten en de transactie wordt doorgevoerd.

Wanneer u dit gebruikt FileAccess.ReadWrite, verwijst het SqlFileStream naar een bestand dat alle bestaande gegevens bevat. De greep bevindt zich aan het begin van het bestand. U kunt een van de System.IOSeek methoden gebruiken om de positie van de ingang in het bestand te verplaatsen om nieuwe gegevens te schrijven of toe te voegen.

Uitzonderingen

path is een null-verwijzing of transactionContext is null.

path is een lege tekenreeks (""), bevat alleen witruimte of bevat een of meer ongeldige tekens.

-OF-

path begint met \\.\, bijvoorbeeld "\\.\PHYSICALDRIVE0 ".

-OF-

De ingang die door de aanroep naar NTCreateFile wordt geretourneerd, is niet van het type FILE_TYPE_DISK.

Kan het bestand niet vinden.

Er is een I/O-fout opgetreden.

De beller heeft niet de vereiste machtiging.

De opgegeven path waarde is ongeldig, zoals op een niet-toegewezen station.

De aangevraagde toegang is niet toegestaan door het besturingssysteem voor het opgegeven pad. Dit gebeurt wanneer schrijf- of leestoegang is opgegeven en het bestand of de map is ingesteld voor alleen-lezentoegang.

NtCreateFile mislukt met foutcode ingesteld op ERROR_SHARING_VIOLATION.

Opmerkingen

Als er een uitzondering wordt gegenereerd, moeten openstaande transacties worden teruggedraaid. Anders kan gegevensverlies optreden.

Zie ook

Van toepassing op

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

Bron:
System.Data.SqlClient.notsupported.cs

Initialiseert een nieuw exemplaar van de SqlFileStream klasse.

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)

Parameters

path
String

Het logische pad naar het bestand. Het pad kan worden opgehaald met behulp van de functie Transact-SQL Pathname in de onderliggende FILESTREAM-kolom in de tabel.

transactionContext
Byte[]

De transactiecontext voor het SqlFileStream object. Wanneer deze is ingesteld op null, wordt een impliciete transactie gebruikt voor het SqlFileStream object. Toepassingen moeten de bytematrix retourneren die wordt geretourneerd door de GET_FILESTREAM_TRANSACTION_CONTEXT methode aan te roepen.

access
FileAccess

De toegangsmodus die moet worden gebruikt bij het openen van het bestand. Ondersteunde FileAccess opsommingswaarden zijn Read, Writeen ReadWrite.

Wanneer u het FileAccess.Read object gebruiktSqlFileStream, kan het worden gebruikt om alle bestaande gegevens te lezen.

Wanneer u dit gebruikt FileAccess.Write, SqlFileStream wijst u naar een bytebestand met nul. Bestaande gegevens worden overschreven wanneer het object wordt gesloten en de transactie wordt doorgevoerd.

Wanneer u dit gebruikt FileAccess.ReadWrite, verwijst het SqlFileStream naar een bestand dat alle bestaande gegevens bevat. De greep bevindt zich aan het begin van het bestand. U kunt een van de System.IOSeek methoden gebruiken om de positie van de ingang in het bestand te verplaatsen om nieuwe gegevens te schrijven of toe te voegen.

options
FileOptions

Hiermee geeft u de optie te gebruiken tijdens het openen van het bestand. Ondersteunde FileOptions waarden zijnAsynchronous, WriteThrough, en SequentialScanRandomAccess.

allocationSize
Int64

De toewijzingsgrootte die moet worden gebruikt tijdens het maken van een bestand. Als deze waarde is ingesteld op 0, wordt de standaardwaarde gebruikt.

Uitzonderingen

path is een null-verwijzing of transactionContext is null.

path is een lege tekenreeks (""), bevat alleen witruimte of bevat een of meer ongeldige tekens.

path begint met \\.\, bijvoorbeeld "\\.\PHYSICALDRIVE0 ".

De ingang die wordt geretourneerd door aanroep naar NTCreateFile is niet van het type FILE_TYPE_DISK.

options bevat een niet-ondersteunde waarde.

Kan het bestand niet vinden.

Er is een I/O-fout opgetreden.

De beller heeft niet de vereiste machtiging.

De opgegeven path waarde is ongeldig, zoals op een niet-toegewezen station.

De aangevraagde toegang is niet toegestaan door het besturingssysteem voor het opgegeven pad. Dit gebeurt wanneer schrijf- of leestoegang is opgegeven en het bestand of de map is ingesteld voor alleen-lezentoegang.

NtCreateFile mislukt met foutcode ingesteld op ERROR_SHARING_VIOLATION.

Opmerkingen

Als er een uitzondering wordt gegenereerd, moeten openstaande transacties worden teruggedraaid. Anders kan gegevensverlies optreden.

Zie ook

Van toepassing op