SqlFileStream Конструкторы

Определение

Инициализирует новый экземпляр класса SqlFileStream.

Перегрузки

Имя Описание
SqlFileStream(String, Byte[], FileAccess)

Инициализирует новый экземпляр класса SqlFileStream.

SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64)

Инициализирует новый экземпляр класса SqlFileStream.

Комментарии

В следующей таблице перечислены разрешения на доступ к коду (CAS), которые все вызывающие элементы в стеке должны использовать SqlFileStream конструкторы.

Доступ к файлам Разрешение
Read Read
Напишите Write
Чтение и запись Read и Write.

Дополнительные сведения об cas см. в разделе Code Access Security and ADO.NET.

SqlFileStream(String, Byte[], FileAccess)

Исходный код:
System.Data.SqlClient.notsupported.cs

Инициализирует новый экземпляр класса 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)

Параметры

path
String

Логический путь к файлу. Путь можно получить с помощью функции Transact-SQL Pathname в базовом столбце FILESTREAM в таблице.

transactionContext
Byte[]

Контекст транзакции для SqlFileStream объекта. Приложения должны возвращать массив байтов, возвращаемый путем вызова метода GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Режим доступа, используемый при открытии файла. Поддерживаемые FileAccess значения перечисления: Readи WriteReadWrite.

При использовании FileAccess.ReadSqlFileStream объект можно использовать для чтения всех существующих данных.

При использовании FileAccess.WriteSqlFileStream указывает на нулевой байтовый файл. Существующие данные будут перезаписаны при закрытии объекта и фиксации транзакции.

При использовании FileAccess.ReadWriteуказывает SqlFileStream на файл с существующими данными. Дескриптор расположен в начале файла. Вы можете использовать один из System.IOSeek методов для перемещения позиции дескриптора в файле для записи или добавления новых данных.

Исключения

path является пустой ссылкой или transactionContext имеет значение NULL.

path — пустая строка (""), содержит только пробелы или содержит один или несколько недопустимых символов.

-ИЛИ-

path начинается с "\\.\", например "\\\.\PHYSICALDRIVE0".

-ИЛИ-

Дескриптор, возвращаемый вызовом NTCreateFile, не является типом FILE_TYPE_DISK.

Не удается найти файл.

Произошла ошибка ввода-вывода.

Вызывающий объект не имеет требуемого разрешения.

Указанный параметр path недопустим, например на несопоставленном диске.

Запрошенный доступ не разрешен операционной системой для указанного пути. Это происходит при указании доступа для записи или чтения, а файл или каталог задан для доступа только для чтения.

NtCreateFile завершается ошибкой, если задано значение ERROR_SHARING_VIOLATION кода ошибки.

Комментарии

При возникновении исключения все открытые транзакции должны быть откатированы. В противном случае может произойти потеря данных.

См. также раздел

Применяется к

SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64)

Исходный код:
System.Data.SqlClient.notsupported.cs

Инициализирует новый экземпляр класса 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)

Параметры

path
String

Логический путь к файлу. Путь можно получить с помощью функции Transact-SQL Pathname в базовом столбце FILESTREAM в таблице.

transactionContext
Byte[]

Контекст транзакции для SqlFileStream объекта. Если задано значение NULL, для объекта будет использоваться SqlFileStream неявная транзакция. Приложения должны возвращать массив байтов, возвращаемый путем вызова метода GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Режим доступа, используемый при открытии файла. Поддерживаемые FileAccess значения перечисления: Readи WriteReadWrite.

При использовании FileAccess.ReadSqlFileStream объект можно использовать для чтения всех существующих данных.

При использовании FileAccess.WriteSqlFileStream указывает на нулевой байтовый файл. Существующие данные будут перезаписаны при закрытии объекта и фиксации транзакции.

При использовании FileAccess.ReadWriteуказывает SqlFileStream на файл с существующими данными. Дескриптор расположен в начале файла. Вы можете использовать один из System.IOSeek методов для перемещения позиции дескриптора в файле для записи или добавления новых данных.

options
FileOptions

Указывает параметр, используемый при открытии файла. Поддерживаемые FileOptions значения: Asynchronous, WriteThroughSequentialScanи RandomAccess.

allocationSize
Int64

Размер выделения, используемый при создании файла. Если задано значение 0, используется значение по умолчанию.

Исключения

path является пустой ссылкой или transactionContext имеет значение NULL.

path — пустая строка (""), содержит только пробелы или содержит один или несколько недопустимых символов.

path начинается с "\\.\", например "\\\.\PHYSICALDRIVE0".

Дескриптор, возвращаемый вызовом NTCreateFile, не является типом FILE_TYPE_DISK.

options содержит неподдерживаемое значение.

Не удается найти файл.

Произошла ошибка ввода-вывода.

Вызывающий объект не имеет требуемого разрешения.

Указанный параметр path недопустим, например на несопоставленном диске.

Запрошенный доступ не разрешен операционной системой для указанного пути. Это происходит при указании доступа для записи или чтения, а файл или каталог задан для доступа только для чтения.

NtCreateFile завершается ошибкой, если задано значение ERROR_SHARING_VIOLATION кода ошибки.

Комментарии

При возникновении исключения все открытые транзакции должны быть откатированы. В противном случае может произойти потеря данных.

См. также раздел

Применяется к