SqlFileStream Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.Read
SqlFileStream
obiekt może służyć do odczytywania wszystkich istniejących danych.
W przypadku używania metody FileAccess.Write
SqlFileStream
wskazuje plik bajtowy zero. Istniejące dane zostaną zastąpione po zamknięciu obiektu i zatwierdzeniu transakcji.
W przypadku używania SqlFileStream
metody FileAccess.ReadWrite
element wskazuje plik, który zawiera wszystkie istniejące dane. Uchwyt jest umieszczony na początku pliku. Możesz użyć jednej z System.IO
Seek
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.Read
SqlFileStream
obiekt może służyć do odczytywania wszystkich istniejących danych.
W przypadku używania metody FileAccess.Write
SqlFileStream
wskazuje plik bajtowy zero. Istniejące dane zostaną zastąpione po zamknięciu obiektu i zatwierdzeniu transakcji.
W przypadku używania SqlFileStream
metody FileAccess.ReadWrite
element wskazuje plik, który zawiera wszystkie istniejące dane. Uchwyt jest umieszczony na początku pliku. Możesz użyć jednej z System.IO
Seek
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.