SqlFileStream Konstruktorer

Definition

Initierar en ny instans av SqlFileStream klassen.

Överlagringar

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

Initierar en ny instans av SqlFileStream klassen.

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

Initierar en ny instans av SqlFileStream klassen.

Kommentarer

I följande tabell visas de behörigheter för kodåtkomstsäkerhet (CAS) som alla anropare i stacken måste använda konstruktorerna SqlFileStream .

Åtkomst till filer Tillåtelse
Read Read
Skriv Write
Läs och skriv Read och Write

Mer information om CAS finns i Code Access Security och ADO.NET.

SqlFileStream(String, Byte[], FileAccess)

Källa:
System.Data.SqlClient.notsupported.cs

Initierar en ny instans av SqlFileStream klassen.

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)

Parametrar

path
String

Den logiska sökvägen till filen. Sökvägen kan hämtas med hjälp av funktionen Transact-SQL Pathname i den underliggande FILESTREAM-kolumnen i tabellen.

transactionContext
Byte[]

Transaktionskontexten SqlFileStream för objektet. Program bör returnera bytematrisen som returneras genom att anropa metoden GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Det åtkomstläge som ska användas när filen öppnas. Uppräkningsvärden som stöds FileAccess är Read, Writeoch ReadWrite.

När du använder FileAccess.ReadSqlFileStream kan objektet användas för att läsa alla befintliga data.

När du använder FileAccess.Writepekar SqlFileStream på en fil med noll byte. Befintliga data skrivs över när objektet stängs och transaktionen checkas in.

När du använder FileAccess.ReadWritepekar pekar på SqlFileStream en fil som har alla befintliga data i den. Handtaget placeras i början av filen. Du kan använda någon av System.IOSeek metoderna för att flytta referenspositionen i filen för att skriva eller lägga till nya data.

Undantag

path är en null-referens eller transactionContext är null.

path är en tom sträng (""), innehåller endast tomt utrymme eller innehåller ett eller flera ogiltiga tecken.

-ELLER-

path börjar med "\\.\", till exempel "\\.\PHYSICALDRIVE0 ".

-ELLER-

Handtaget som returneras av anropet till NTCreateFile är inte av typen FILE_TYPE_DISK.

Det går inte att hitta filen.

Ett I/O-fel uppstod.

Anroparen har inte den behörighet som krävs.

Den angivna är path ogiltig, till exempel på en ommappad enhet.

Den begärda åtkomsten tillåts inte av operativsystemet för den angivna sökvägen. Detta inträffar när skriv- eller skrivbehörighet har angetts och filen eller katalogen har angetts för skrivskyddad åtkomst.

NtCreateFile misslyckas med felkoden inställd på ERROR_SHARING_VIOLATION.

Kommentarer

Om ett undantag utlöses bör alla öppna transaktioner återställas. Annars kan dataförlust inträffa.

Se även

Gäller för

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

Källa:
System.Data.SqlClient.notsupported.cs

Initierar en ny instans av SqlFileStream klassen.

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)

Parametrar

path
String

Den logiska sökvägen till filen. Sökvägen kan hämtas med hjälp av funktionen Transact-SQL Pathname i den underliggande FILESTREAM-kolumnen i tabellen.

transactionContext
Byte[]

Transaktionskontexten SqlFileStream för objektet. När värdet är null används en implicit transaktion för SqlFileStream objektet. Program bör returnera bytematrisen som returneras genom att anropa metoden GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Det åtkomstläge som ska användas när filen öppnas. Uppräkningsvärden som stöds FileAccess är Read, Writeoch ReadWrite.

När du använder FileAccess.ReadSqlFileStream kan objektet användas för att läsa alla befintliga data.

När du använder FileAccess.Writepekar SqlFileStream på en fil med noll byte. Befintliga data skrivs över när objektet stängs och transaktionen checkas in.

När du använder FileAccess.ReadWritepekar pekar på SqlFileStream en fil som har alla befintliga data i den. Handtaget placeras i början av filen. Du kan använda någon av System.IOSeek metoderna för att flytta referenspositionen i filen för att skriva eller lägga till nya data.

options
FileOptions

Anger alternativet som ska användas när filen öppnas. Värden som stöds FileOptions är Asynchronous, WriteThrough, SequentialScanoch RandomAccess.

allocationSize
Int64

Allokeringsstorleken som ska användas när du skapar en fil. Om värdet är inställt på 0 används standardvärdet.

Undantag

path är en null-referens eller transactionContext är null.

path är en tom sträng (""), innehåller endast tomt utrymme eller innehåller ett eller flera ogiltiga tecken.

path börjar med "\\.\", till exempel "\\.\PHYSICALDRIVE0 ".

Handtaget som returneras av anropet till NTCreateFile är inte av typen FILE_TYPE_DISK.

options innehåller ett värde som inte stöds.

Det går inte att hitta filen.

Ett I/O-fel uppstod.

Anroparen har inte den behörighet som krävs.

Den angivna är path ogiltig, till exempel på en ommappad enhet.

Den begärda åtkomsten tillåts inte av operativsystemet för den angivna sökvägen. Detta inträffar när skriv- eller skrivbehörighet har angetts och filen eller katalogen har angetts för skrivskyddad åtkomst.

NtCreateFile misslyckas med felkoden inställd på ERROR_SHARING_VIOLATION.

Kommentarer

Om ett undantag utlöses bör alla öppna transaktioner återställas. Annars kan dataförlust inträffa.

Se även

Gäller för