SqlFileStream Konstruktorer
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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)
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)
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.