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í
| Name | Description |
|---|---|
| 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 SqlFileStream používat konstruktory.
| Přístup k souborům | Povolení |
|---|---|
| Read | Read |
| Napiš | Write |
| Čtení a zápis | Read a Write |
Další informace o CAS najdete v tématu Kódování zabezpečení přístupu 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ření souboru. Podporované FileAccess hodnoty výčtu jsou Read, Writea ReadWrite.
Při použití FileAccess.ReadSqlFileStream lze objekt použít ke čtení všech existujících dat.
Při použití FileAccess.WriteSqlFileStream odkazuje na nulový bajtový soubor. Existující data budou přepsána při zavření objektu a transakce je potvrzena.
Při použití FileAccess.ReadWriteSqlFileStream odkazuje na soubor, který obsahuje všechna existující data. Popisovač se umístí na začátek souboru. Pomocí jedné z System.IOSeek metod můžete přesunout pozici úchytu v souboru k zápisu nebo připojení nových dat.
Výjimky
path je odkaz na hodnotu 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ů.
–NEBO–
path začíná na "\\.\", například "\\.\\PHYSICALDRIVE0 ".
–NEBO–
Popisovač vrácený voláním NTCreateFile není typu FILE_TYPE_DISK.
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 že je na nemapované jednotce.
Požadovaný přístup nepovoluje operační systém pro zadanou cestu. K tomu dochází v případě, že je zadán přístup pro zápis nebo čtení 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 je vyvolán výjimka, všechny otevřené transakce by se měly 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ření souboru. Podporované FileAccess hodnoty výčtu jsou Read, Writea ReadWrite.
Při použití FileAccess.ReadSqlFileStream lze objekt použít ke čtení všech existujících dat.
Při použití FileAccess.WriteSqlFileStream odkazuje na nulový bajtový soubor. Existující data budou přepsána při zavření objektu a transakce je potvrzena.
Při použití FileAccess.ReadWriteSqlFileStream odkazuje na soubor, který obsahuje všechna existující data. Popisovač se umístí na začátek souboru. Pomocí jedné z System.IOSeek metod můžete přesunout pozici úchytu v souboru k zápisu nebo připojení nových dat.
- 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 na hodnotu 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 že je na nemapované jednotce.
Požadovaný přístup nepovoluje operační systém pro zadanou cestu. K tomu dochází v případě, že je zadán přístup pro zápis nebo čtení 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 je vyvolán výjimka, všechny otevřené transakce by se měly vrátit zpět. V opačném případě může dojít ke ztrátě dat.