Sdílet prostřednictvím


SqlFileStream Konstruktory

Definice

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.Readobjektu SqlFileStream lze použít ke čtení všech existujících dat.

Při použití odkazuje FileAccess.WriteSqlFileStream 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.ReadWritena SqlFileStream soubor, který obsahuje všechna existující data. Popisovač je umístěn na začátku souboru. Pomocí jedné z System.IOSeek 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.Readobjektu SqlFileStream lze použít ke čtení všech existujících dat.

Při použití odkazuje FileAccess.WriteSqlFileStream 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.ReadWritena SqlFileStream soubor, který obsahuje všechna existující data. Popisovač je umístěn na začátku souboru. Pomocí jedné z System.IOSeek 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.

Viz také

Platí pro