SqlFileStream Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der SqlFileStream-Klasse.
Überlädt
SqlFileStream(String, Byte[], FileAccess) |
Initialisiert eine neue Instanz der SqlFileStream-Klasse. |
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64) |
Initialisiert eine neue Instanz der SqlFileStream-Klasse. |
Hinweise
In der folgenden Tabelle sind die Cas-Berechtigungen (Code Access Security) aufgeführt, die alle Aufrufer im Stapel benötigen, um die SqlFileStream
Konstruktoren verwenden zu können.
Dateizugriff | Berechtigung |
---|---|
Lesen | Read |
Schreiben | Write |
ReadWrite | Read und Write |
Weitere Informationen zu CAS finden Sie unter Codezugriffssicherheit und ADO.NET.
SqlFileStream(String, Byte[], FileAccess)
Initialisiert eine neue Instanz der SqlFileStream-Klasse.
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)
Parameter
- path
- String
Der logische Pfad zur Datei. Der Pfad kann abgerufen werden, indem die Transact-SQL-Funktion „Pathname“ auf die zugrunde liegende FILESTREAM-Spalte in der Tabelle angewendet wird.
- transactionContext
- Byte[]
Der Transaktionskontext für das SqlFileStream
-Objekt. Anwendungen sollten das Bytearray zurückgeben, das durch Aufrufen der GET_FILESTREAM_TRANSACTION_CONTEXT-Methode zurückgegeben wurde.
- access
- FileAccess
Der beim Öffnen der Datei zu verwendende Zugriffsmodus. Unterstützte FileAccess-Enumerationswerte sind Read, Write und ReadWrite.
Wenn FileAccess.Read
verwendet wird, kann das SqlFileStream
-Objekt dazu verwendet werden, alle vorhandenen Daten zu lesen.
Wenn FileAccess.Write
verwendet wird, zeigt SqlFileStream
auf eine Datei mit 0 (null) Bytes. Vorhandene Daten werden überschrieben, wenn das Objekt geschlossen und die Transaktion committet wird.
Wenn FileAccess.ReadWrite
verwendet wird, zeigt SqlFileStream
auf eine Datei, in der alle vorhandenen Daten enthalten sind. Das Handle ist am Anfang der Datei positioniert. Sie können die Position des Handles in der Datei mit einer der System.IO
Seek
-Methoden verschieben, um neue Daten zu schreiben oder anzufügen.
Ausnahmen
path
ist ein NULL-Verweis, oder transactionContext
ist gleich NULL.
path
ist eine leere Zeichenfolge (""), enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
path
beginnt mit "\\.\", z. B. "\\.\PHYSICALDRIVE0".
Das nach dem Aufruf von NTCreateFile zurückgegebene Handle hat nicht den Typ FILE_TYPE_DISK.
options
enthält einen nicht unterstützten Wert.
Die Datei kann nicht gefunden werden.
E/A-Fehler
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
Der angegebene path
ist ungültig, z. B. befindet er sich auf einem nicht zugeordneten Laufwerk.
Der angeforderte Zugriff wird vom Betriebssystem für den angegebenen Pfad nicht zugelassen. Dies tritt auf, wenn ein Write- oder ReadWrite-Zugriff angegeben und die Datei oder das Verzeichnis auf schreibgeschützten Zugriff festgelegt ist.
NtCreateFile gibt den Fehlercode ERROR_SHARING_VIOLATION zurück.
Hinweise
Wenn eine Ausnahme ausgelöst wird, sollte ein Rollback für alle geöffneten Transaktionen ausgeführt werden. Andernfalls kann es zu Datenverlust kommen.
Weitere Informationen
Gilt für:
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64)
Initialisiert eine neue Instanz der SqlFileStream-Klasse.
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)
Parameter
- path
- String
Der logische Pfad zur Datei. Der Pfad kann abgerufen werden, indem die Transact-SQL-Funktion „Pathname“ auf die zugrunde liegende FILESTREAM-Spalte in der Tabelle angewendet wird.
- transactionContext
- Byte[]
Der Transaktionskontext für das SqlFileStream
-Objekt. Ist dieser Parameter auf NULL festgelegt, wird eine implizite Transaktion für das SqlFileStream
-Objekt verwendet Anwendungen sollten das Bytearray zurückgeben, das durch Aufrufen der GET_FILESTREAM_TRANSACTION_CONTEXT-Methode zurückgegeben wurde.
- access
- FileAccess
Der beim Öffnen der Datei zu verwendende Zugriffsmodus. Unterstützte FileAccess-Enumerationswerte sind Read, Write und ReadWrite.
Wenn FileAccess.Read
verwendet wird, kann das SqlFileStream
-Objekt dazu verwendet werden, alle vorhandenen Daten zu lesen.
Wenn FileAccess.Write
verwendet wird, zeigt SqlFileStream
auf eine Datei mit 0 (null) Bytes. Vorhandene Daten werden überschrieben, wenn das Objekt geschlossen und die Transaktion committet wird.
Wenn FileAccess.ReadWrite
verwendet wird, zeigt SqlFileStream
auf eine Datei, in der alle vorhandenen Daten enthalten sind. Das Handle ist am Anfang der Datei positioniert. Sie können die Position des Handles in der Datei mit einer der System.IO
Seek
-Methoden verschieben, um neue Daten zu schreiben oder anzufügen.
- options
- FileOptions
Gibt die beim Öffnen der Datei zu verwendende Option an. Unterstützte FileOptions-Werte sind Asynchronous, WriteThrough, SequentialScan und RandomAccess.
- allocationSize
- Int64
Die beim Erstellen einer Datei zu verwendende Zuordnungsgröße. Ist dieser Parameter auf 0 (null) festgelegt, wird der Standardwert verwendet.
Ausnahmen
path
ist ein NULL-Verweis, oder transactionContext
ist gleich NULL.
path
ist eine leere Zeichenfolge (""), enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
path
beginnt mit "\\.\", z. B. "\\.\PHYSICALDRIVE0".
Das nach einem Aufruf von NTCreateFile zurückgegebene Handle hat nicht den Typ FILE_TYPE_DISK.
options
enthält einen nicht unterstützten Wert.
Die Datei kann nicht gefunden werden.
E/A-Fehler
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
Der angegebene path
ist ungültig, z. B. befindet er sich auf einem nicht zugeordneten Laufwerk.
Der angeforderte Zugriff wird vom Betriebssystem für den angegebenen Pfad nicht zugelassen. Dies tritt auf, wenn ein Write- oder ReadWrite-Zugriff angegeben und die Datei oder das Verzeichnis auf schreibgeschützten Zugriff festgelegt ist.
NtCreateFile gibt den Fehlercode ERROR_SHARING_VIOLATION zurück.
Hinweise
Wenn eine Ausnahme ausgelöst wird, sollte ein Rollback für alle geöffneten Transaktionen ausgeführt werden. Andernfalls kann es zu Datenverlust kommen.