SqlFileStream Construtores

Definição

Inicializa uma nova instância da classe SqlFileStream.

Sobrecargas

Nome Description
SqlFileStream(String, Byte[], FileAccess)

Inicializa uma nova instância da classe SqlFileStream.

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

Inicializa uma nova instância da classe SqlFileStream.

Comentários

A tabela a seguir lista as permissões cas (segurança de acesso ao código) que todos os chamadores na pilha devem ter para usar os SqlFileStream construtores.

Acesso a arquivos Permissão
Read Read
Escrever Write
Leitura e Gravação Read e Write

Para obter mais informações sobre o CAS, consulte Code Access Security e ADO.NET.

SqlFileStream(String, Byte[], FileAccess)

Origem:
System.Data.SqlClient.notsupported.cs

Inicializa uma nova instância da classe 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)

Parâmetros

path
String

O caminho lógico para o arquivo. O caminho pode ser recuperado usando a função Transact-SQL Pathname na coluna FILESTREAM subjacente na tabela.

transactionContext
Byte[]

O contexto de transação do SqlFileStream objeto. Os aplicativos devem retornar a matriz de bytes retornada chamando o método GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

O modo de acesso a ser usado ao abrir o arquivo. Os valores de enumeração com FileAccess suporte são Read, Writee ReadWrite.

Ao usar FileAccess.Read, o SqlFileStream objeto pode ser usado para ler todos os dados existentes.

Ao usar FileAccess.Write, SqlFileStream aponta para um arquivo de bytes zero. Os dados existentes serão substituídos quando o objeto for fechado e a transação for confirmada.

Ao usar FileAccess.ReadWrite, os SqlFileStream pontos para um arquivo que tem todos os dados existentes nele. O identificador é posicionado no início do arquivo. Você pode usar um dos System.IOSeek métodos para mover a posição do identificador dentro do arquivo para gravar ou acrescentar novos dados.

Exceções

path é uma referência nula ou transactionContext é nula.

path é uma cadeia de caracteres vazia (""), contém apenas espaço em branco ou contém um ou mais caracteres inválidos.

-OU-

path começa com "\\.\", por exemplo "\\.\PHYSICALDRIVE0 ".

-OU-

O identificador retornado pela chamada para NTCreateFile não é do tipo FILE_TYPE_DISK.

O arquivo não pode ser encontrado.

Ocorreu um erro de E/S.

O chamador não tem a permissão necessária.

O especificado path é inválido, como estar em uma unidade não mapeada.

O acesso solicitado não é permitido pelo sistema operacional para o caminho especificado. Isso ocorre quando o acesso a Write ou ReadWrite é especificado e o arquivo ou diretório é definido para acesso somente leitura.

O NtCreateFile falha com o código de erro definido como ERROR_SHARING_VIOLATION.

Comentários

Se uma exceção for lançada, todas as transações abertas deverão ser revertidas. Caso contrário, pode ocorrer perda de dados.

Confira também

Aplica-se a

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

Origem:
System.Data.SqlClient.notsupported.cs

Inicializa uma nova instância da classe 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)

Parâmetros

path
String

O caminho lógico para o arquivo. O caminho pode ser recuperado usando a função Transact-SQL Pathname na coluna FILESTREAM subjacente na tabela.

transactionContext
Byte[]

O contexto de transação do SqlFileStream objeto. Quando definido como nulo, uma transação implícita será usada para o SqlFileStream objeto. Os aplicativos devem retornar a matriz de bytes retornada chamando o método GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

O modo de acesso a ser usado ao abrir o arquivo. Os valores de enumeração com FileAccess suporte são Read, Writee ReadWrite.

Ao usar FileAccess.Read, o SqlFileStream objeto pode ser usado para ler todos os dados existentes.

Ao usar FileAccess.Write, SqlFileStream aponta para um arquivo de bytes zero. Os dados existentes serão substituídos quando o objeto for fechado e a transação for confirmada.

Ao usar FileAccess.ReadWrite, os SqlFileStream pontos para um arquivo que tem todos os dados existentes nele. O identificador é posicionado no início do arquivo. Você pode usar um dos System.IOSeek métodos para mover a posição do identificador dentro do arquivo para gravar ou acrescentar novos dados.

options
FileOptions

Especifica a opção a ser usada ao abrir o arquivo. Os valores com FileOptions suporte são Asynchronous, WriteThrough, SequentialScane RandomAccess.

allocationSize
Int64

O tamanho da alocação a ser usado durante a criação de um arquivo. Se definido como 0, o valor padrão será usado.

Exceções

path é uma referência nula ou transactionContext é nula.

path é uma cadeia de caracteres vazia (""), contém apenas espaço em branco ou contém um ou mais caracteres inválidos.

path começa com "\\.\", por exemplo "\\.\PHYSICALDRIVE0 ".

O identificador retornado por chamada para NTCreateFile não é do tipo FILE_TYPE_DISK.

options contém um valor sem suporte.

O arquivo não pode ser encontrado.

Ocorreu um erro de E/S.

O chamador não tem a permissão necessária.

O especificado path é inválido, como estar em uma unidade não mapeada.

O acesso solicitado não é permitido pelo sistema operacional para o caminho especificado. Isso ocorre quando o acesso a Write ou ReadWrite é especificado e o arquivo ou diretório é definido para acesso somente leitura.

O NtCreateFile falha com o código de erro definido como ERROR_SHARING_VIOLATION.

Comentários

Se uma exceção for lançada, todas as transações abertas deverão ser revertidas. Caso contrário, pode ocorrer perda de dados.

Confira também

Aplica-se a