Udostępnij za pośrednictwem


SqlFileStream Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy SqlFileStream.

Przeciążenia

SqlFileStream(String, Byte[], FileAccess)

Inicjuje nowe wystąpienie klasy SqlFileStream.

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

Inicjuje nowe wystąpienie klasy SqlFileStream.

Uwagi

W poniższej tabeli wymieniono uprawnienia zabezpieczeń dostępu do kodu (CAS), które muszą być używane przez SqlFileStream wszystkie obiekty wywołujące w stosie.

Dostęp do plików Uprawnienie
Odczyt Read
Zapisywanie Write
Odczyt/zapis Read i Write

Aby uzyskać więcej informacji na temat serwera CAS, zobacz Zabezpieczenia dostępu kodu i ADO.NET.

SqlFileStream(String, Byte[], FileAccess)

Inicjuje nowe wystąpienie klasy SqlFileStream.

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

Ścieżka logiczna do pliku. Ścieżkę można pobrać przy użyciu funkcji Transact-SQL Pathname w podstawowej kolumnie FILESTREAM w tabeli.

transactionContext
Byte[]

Kontekst transakcji dla SqlFileStream obiektu. Aplikacje powinny zwrócić tablicę bajtów zwróconą przez wywołanie metody GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Tryb dostępu do użycia podczas otwierania pliku. Obsługiwane FileAccess wartości wyliczenia to Read, Writei ReadWrite.

W przypadku korzystania z elementu FileAccess.ReadSqlFileStream obiekt może służyć do odczytywania wszystkich istniejących danych.

W przypadku używania metody FileAccess.WriteSqlFileStream wskazuje plik bajtowy zero. Istniejące dane zostaną zastąpione po zamknięciu obiektu i zatwierdzeniu transakcji.

W przypadku używania SqlFileStream metody FileAccess.ReadWriteelement wskazuje plik, który zawiera wszystkie istniejące dane. Uchwyt jest umieszczony na początku pliku. Możesz użyć jednej z System.IOSeek metod, aby przenieść pozycję uchwytu w pliku w celu zapisania lub dołączenia nowych danych.

Wyjątki

path jest odwołaniem o wartości null lub transactionContext ma wartość null.

path jest pustym ciągiem (""), zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

path rozpoczyna się od ciągu "\\.\", na przykład "\\.\PHYSICALDRIVE0".

Dojście zwrócone przez wywołanie ntCreateFile nie jest typu FILE_TYPE_DISK.

options zawiera nieobsługiwaną wartość.

Nie można odnaleźć pliku.

Wystąpił błąd we/wy.

Obiekt wywołujący nie posiada wymaganych uprawnień.

Określony path element jest nieprawidłowy, na przykład na dysku niezamapowanym.

Żądany dostęp nie jest dozwolony przez system operacyjny dla określonej ścieżki. Dzieje się tak, gdy jest określony dostęp do zapisu lub readWrite, a plik lub katalog jest ustawiony na dostęp tylko do odczytu.

Polecenie NtCreateFile kończy się niepowodzeniem z kodem błędu ustawionym na ERROR_SHARING_VIOLATION.

Uwagi

Jeśli zostanie zgłoszony wyjątek, wszystkie otwarte transakcje powinny zostać wycofane. W przeciwnym razie może wystąpić utrata danych.

Zobacz też

Dotyczy

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

Inicjuje nowe wystąpienie klasy SqlFileStream.

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

Ścieżka logiczna do pliku. Ścieżkę można pobrać przy użyciu funkcji Transact-SQL Pathname w podstawowej kolumnie FILESTREAM w tabeli.

transactionContext
Byte[]

Kontekst transakcji dla SqlFileStream obiektu. W przypadku ustawienia wartości null dla obiektu zostanie użyta niejawna transakcja SqlFileStream . Aplikacje powinny zwrócić tablicę bajtów zwróconą przez wywołanie metody GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Tryb dostępu do użycia podczas otwierania pliku. Obsługiwane FileAccess wartości wyliczenia to Read, Writei ReadWrite.

W przypadku korzystania z elementu FileAccess.ReadSqlFileStream obiekt może służyć do odczytywania wszystkich istniejących danych.

W przypadku używania metody FileAccess.WriteSqlFileStream wskazuje plik bajtowy zero. Istniejące dane zostaną zastąpione po zamknięciu obiektu i zatwierdzeniu transakcji.

W przypadku używania SqlFileStream metody FileAccess.ReadWriteelement wskazuje plik, który zawiera wszystkie istniejące dane. Uchwyt jest umieszczony na początku pliku. Możesz użyć jednej z System.IOSeek metod, aby przenieść pozycję uchwytu w pliku w celu zapisania lub dołączenia nowych danych.

options
FileOptions

Określa opcję, która ma być używana podczas otwierania pliku. Obsługiwane FileOptions wartości to Asynchronous, WriteThrough, SequentialScani RandomAccess.

allocationSize
Int64

Rozmiar alokacji do użycia podczas tworzenia pliku. W przypadku ustawienia wartości 0 zostanie użyta wartość domyślna.

Wyjątki

path jest odwołaniem o wartości null lub transactionContext ma wartość null.

path jest pustym ciągiem (""), zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

path rozpoczyna się od ciągu "\\.\", na przykład "\\.\PHYSICALDRIVE0".

Dojście zwrócone przez wywołanie ntCreateFile nie jest typu FILE_TYPE_DISK.

options zawiera nieobsługiwaną wartość.

Nie można odnaleźć pliku.

Wystąpił błąd we/wy.

Obiekt wywołujący nie posiada wymaganych uprawnień.

Określony path element jest nieprawidłowy, na przykład na dysku niezamapowanym.

Żądany dostęp nie jest dozwolony przez system operacyjny dla określonej ścieżki. Dzieje się tak, gdy jest określony dostęp do zapisu lub readWrite, a plik lub katalog jest ustawiony na dostęp tylko do odczytu.

Polecenie NtCreateFile kończy się niepowodzeniem z kodem błędu ustawionym na ERROR_SHARING_VIOLATION.

Uwagi

Jeśli zostanie zgłoszony wyjątek, wszystkie otwarte transakcje powinny zostać wycofane. W przeciwnym razie może wystąpić utrata danych.

Zobacz też

Dotyczy