SqlFileStream Konstruktoren

Definition

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)

Quelle:
System.Data.SqlClient.notsupported.cs

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)

Quelle:
System.Data.SqlClient.notsupported.cs

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.

Weitere Informationen

Gilt für: