SqlFileStream Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci SqlFileStream třídy.
Přetížení
SqlFileStream(String, Byte[], FileAccess) |
Inicializuje novou instanci SqlFileStream třídy. |
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64) |
Inicializuje novou instanci SqlFileStream třídy. |
Poznámky
Následující tabulka uvádí oprávnění zabezpečení přístupu kódu (CAS), která musí všichni volající v zásobníku používat SqlFileStream
konstruktory.
Přístup k souborům | Oprávnění |
---|---|
Čtení | Read |
Zápis | Write |
ReadWrite | Read a Write |
Další informace o cas najdete v tématu Zabezpečení přístupu ke kódu a ADO.NET.
SqlFileStream(String, Byte[], FileAccess)
Inicializuje novou instanci SqlFileStream třídy.
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)
Parametry
- path
- String
Logická cesta k souboru. Cestu lze načíst pomocí funkce Transact-SQL Pathname v podkladovém sloupci FILESTREAM v tabulce.
- transactionContext
- Byte[]
Kontext transakce objektu SqlFileStream
. Aplikace by měly vrátit pole bajtů vrácené voláním metody GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
Režim přístupu, který se má použít při otevírání souboru. Podporované FileAccess hodnoty výčtu jsou Read, Writea ReadWrite.
Při použití FileAccess.Read
objektu SqlFileStream
lze použít ke čtení všech existujících dat.
Při použití odkazuje FileAccess.Write
SqlFileStream
na soubor s nulovým bajtem. Existující data budou přepsána při zavření objektu a potvrzení transakce.
Při použití odkazuje FileAccess.ReadWrite
na SqlFileStream
soubor, který obsahuje všechna existující data. Popisovač je umístěn na začátku souboru. Pomocí jedné z System.IO
Seek
těchto metod můžete přesunout pozici úchytu v souboru a zapisovat nebo přidávat nová data.
Výjimky
path
je odkaz s hodnotou null nebo transactionContext
je null.
path
je prázdný řetězec (""), obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků.
path
začíná na "\\.\", například \\.\PHYSICALDRIVE0.
Popisovač vrácený voláním NTCreateFile není typu FILE_TYPE_DISK.
options
obsahuje nepodporovanou hodnotu.
Soubor nebyl nalezen.
Došlo k vstupně-výstupní chybě.
Volající nemá požadované oprávnění.
Zadaná path
hodnota je neplatná, například na nenamapované jednotce.
Požadovaný přístup není operačním systémem pro zadanou cestu povolen. K tomu dochází, když je zadán přístup zápisu nebo readwrite a soubor nebo adresář je nastaven pro přístup jen pro čtení.
NtCreateFile selže s kódem chyby nastaveným na ERROR_SHARING_VIOLATION.
Poznámky
Pokud dojde k výjimce, měly by se všechny otevřené transakce vrátit zpět. V opačném případě může dojít ke ztrátě dat.
Viz také
Platí pro
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64)
Inicializuje novou instanci SqlFileStream třídy.
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)
Parametry
- path
- String
Logická cesta k souboru. Cestu lze načíst pomocí funkce Transact-SQL Pathname v podkladovém sloupci FILESTREAM v tabulce.
- transactionContext
- Byte[]
Kontext transakce objektu SqlFileStream
. Při nastavení na hodnotu null se pro SqlFileStream
objekt použije implicitní transakce. Aplikace by měly vrátit pole bajtů vrácené voláním metody GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
Režim přístupu, který se má použít při otevírání souboru. Podporované FileAccess hodnoty výčtu jsou Read, Writea ReadWrite.
Při použití FileAccess.Read
objektu SqlFileStream
lze použít ke čtení všech existujících dat.
Při použití odkazuje FileAccess.Write
SqlFileStream
na soubor s nulovým bajtem. Existující data budou přepsána při zavření objektu a potvrzení transakce.
Při použití odkazuje FileAccess.ReadWrite
na SqlFileStream
soubor, který obsahuje všechna existující data. Popisovač je umístěn na začátku souboru. Pomocí jedné z System.IO
Seek
těchto metod můžete přesunout pozici úchytu v souboru a zapisovat nebo přidávat nová data.
- options
- FileOptions
Určuje možnost, která se má použít při otevírání souboru. Podporované FileOptions hodnoty jsou Asynchronous, WriteThrough, SequentialScana RandomAccess.
- allocationSize
- Int64
Velikost přidělení, která se má použít při vytváření souboru. Pokud je nastavená hodnota 0, použije se výchozí hodnota.
Výjimky
path
je odkaz s hodnotou null nebo transactionContext
je null.
path
je prázdný řetězec (""), obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků.
path
začíná na "\\.\", například \\.\PHYSICALDRIVE0.
Popisovač vrácený voláním ntCreateFile není typu FILE_TYPE_DISK.
options
obsahuje nepodporovanou hodnotu.
Soubor nebyl nalezen.
Došlo k vstupně-výstupní chybě.
Volající nemá požadované oprávnění.
Zadaná path
hodnota je neplatná, například na nenamapované jednotce.
Požadovaný přístup není operačním systémem pro zadanou cestu povolen. K tomu dochází, když je zadán přístup zápisu nebo readwrite a soubor nebo adresář je nastaven pro přístup jen pro čtení.
NtCreateFile selže s kódem chyby nastaveným na ERROR_SHARING_VIOLATION.
Poznámky
Pokud dojde k výjimce, měly by se všechny otevřené transakce vrátit zpět. V opačném případě může dojít ke ztrátě dat.