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
| Nazwa | Opis |
|---|---|
| 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ą używać SqlFileStream konstruktorów we wszystkich obiektach wywołujących w stosie.
| Dostęp do plików | Pozwolenie |
|---|---|
| Read | Read |
| Napisz | Write |
| Odczyt/Zapis | Read i Write |
Aby uzyskać więcej informacji na temat serwera CAS, zobacz Code Access Security and 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 zwracać 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 używania FileAccess.ReadSqlFileStream obiektu można użyć do odczytania wszystkich istniejących danych.
W przypadku używania metody FileAccess.WriteSqlFileStream wskazuje plik bajtów zerowych. Istniejące dane zostaną zastąpione po zamknięciu obiektu i zatwierdzeniu transakcji.
W przypadku używania parametru FileAccess.ReadWriteSqlFileStream element 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ść położenie 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.
— LUB —
path rozpoczyna się od ciągu "\\.\", na przykład "\\.\PHYSICALDRIVE0".
— LUB —
Dojście zwrócone przez wywołanie ntCreateFile nie jest typu FILE_TYPE_DISK.
Nie można odnaleźć pliku.
Wystąpił błąd we/wy.
Obiekt wywołujący nie ma 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 zwracać 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 używania FileAccess.ReadSqlFileStream obiektu można użyć do odczytania wszystkich istniejących danych.
W przypadku używania metody FileAccess.WriteSqlFileStream wskazuje plik bajtów zerowych. Istniejące dane zostaną zastąpione po zamknięciu obiektu i zatwierdzeniu transakcji.
W przypadku używania parametru FileAccess.ReadWriteSqlFileStream element 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ść położenie 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, , WriteThroughSequentialScani RandomAccess.
- allocationSize
- Int64
Rozmiar alokacji do użycia podczas tworzenia pliku. Jeśli ustawiono wartość 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 ma 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.