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
| Name | Beschreibung |
|---|---|
| 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 Berechtigungen für die Codezugriffssicherheit (Code Access Security, CAS) aufgeführt, die alle Aufrufer im Stapel benötigen, um die SqlFileStream Konstruktoren zu verwenden.
| Zugriff auf Dateien | Erlaubnis |
|---|---|
| Lesen | Read |
| Schreiben | Write |
| Lesen und Schreiben | Read und Write |
Weitere Informationen zu CAS finden Sie unter Code Access Security and 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 mithilfe der Transact-SQL Pathname-Funktion in der zugrunde liegenden FILESTREAM-Spalte in der Tabelle abgerufen werden.
- 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 wird.
- access
- FileAccess
Der Zugriffsmodus, der beim Öffnen der Datei verwendet werden soll. Unterstützte FileAccess Enumerationswerte sind Read, Writeund ReadWrite.
Bei Verwendung FileAccess.Readkann das SqlFileStream Objekt verwendet werden, um alle vorhandenen Daten zu lesen.
Zeigt bei Verwendung FileAccess.WriteSqlFileStream auf eine Nullbytedatei. Vorhandene Daten werden überschrieben, wenn das Objekt geschlossen wird und die Transaktion zugesichert wird.
Bei Verwendung FileAccess.ReadWriteverweist die SqlFileStream Datei auf eine Datei, die alle darin vorhandenen Daten enthält. Das Handle wird am Anfang der Datei positioniert. Sie können eine der System.IOSeek Methoden verwenden, um die Handleposition innerhalb der Datei zu verschieben, um neue Daten zu schreiben oder anzufügen.
Ausnahmen
path ist ein Nullverweis oder transactionContext null.
path ist eine leere Zeichenfolge (""), enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
-ODER-
path beginnt mit "\\.\", z. B. "\\.\PHYSICALDRIVE0 ".
-ODER-
Das vom Aufruf von NTCreateFile zurückgegebene Handle ist nicht vom Typ FILE_TYPE_DISK.
Die Datei wurde nicht gefunden.
Ein E/A-Fehler ist aufgetreten.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
Der angegebene path Wert ist ungültig, z. B. auf einem nicht zugeordneten Laufwerk.
Der angeforderte Zugriff ist vom Betriebssystem für den angegebenen Pfad nicht zulässig. Dies tritt auf, wenn der Schreib- oder ReadWrite-Zugriff angegeben ist und die Datei oder das Verzeichnis für schreibgeschützten Zugriff festgelegt ist.
NtCreateFile schlägt fehl, wenn der Fehlercode auf ERROR_SHARING_VIOLATION festgelegt ist.
Hinweise
Wenn eine Ausnahme ausgelöst wird, sollten alle geöffneten Transaktionen zurückgesetzt werden. Andernfalls können Datenverluste auftreten.
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 mithilfe der Transact-SQL Pathname-Funktion in der zugrunde liegenden FILESTREAM-Spalte in der Tabelle abgerufen werden.
- transactionContext
- Byte[]
Der Transaktionskontext für das SqlFileStream Objekt. Wenn dieser Wert auf NULL festgelegt ist, 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 wird.
- access
- FileAccess
Der Zugriffsmodus, der beim Öffnen der Datei verwendet werden soll. Unterstützte FileAccess Enumerationswerte sind Read, Writeund ReadWrite.
Bei Verwendung FileAccess.Readkann das SqlFileStream Objekt verwendet werden, um alle vorhandenen Daten zu lesen.
Zeigt bei Verwendung FileAccess.WriteSqlFileStream auf eine Nullbytedatei. Vorhandene Daten werden überschrieben, wenn das Objekt geschlossen wird und die Transaktion zugesichert wird.
Bei Verwendung FileAccess.ReadWriteverweist die SqlFileStream Datei auf eine Datei, die alle darin vorhandenen Daten enthält. Das Handle wird am Anfang der Datei positioniert. Sie können eine der System.IOSeek Methoden verwenden, um die Handleposition innerhalb der Datei zu verschieben, um neue Daten zu schreiben oder anzufügen.
- options
- FileOptions
Gibt die Option an, die beim Öffnen der Datei verwendet werden soll. Unterstützte FileOptions Werte sind Asynchronous, WriteThrough, , SequentialScanund RandomAccess.
- allocationSize
- Int64
Die zu verwendende Zuordnungsgröße beim Erstellen einer Datei. Bei Festlegung auf 0 wird der Standardwert verwendet.
Ausnahmen
path ist ein Nullverweis oder transactionContext 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 handle, das vom Aufruf von NTCreateFile zurückgegeben wird, ist nicht vom Typ FILE_TYPE_DISK.
options enthält einen nicht unterstützten Wert.
Die Datei wurde nicht gefunden.
Ein E/A-Fehler ist aufgetreten.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
Der angegebene path Wert ist ungültig, z. B. auf einem nicht zugeordneten Laufwerk.
Der angeforderte Zugriff ist vom Betriebssystem für den angegebenen Pfad nicht zulässig. Dies tritt auf, wenn der Schreib- oder ReadWrite-Zugriff angegeben ist und die Datei oder das Verzeichnis für schreibgeschützten Zugriff festgelegt ist.
NtCreateFile schlägt fehl, wenn der Fehlercode auf ERROR_SHARING_VIOLATION festgelegt ist.
Hinweise
Wenn eine Ausnahme ausgelöst wird, sollten alle geöffneten Transaktionen zurückgesetzt werden. Andernfalls können Datenverluste auftreten.