SqlFileStream Construtores
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa uma nova instância da classe SqlFileStream.
Sobrecargas
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 |
---|---|
Ler | Read |
Gravar | Write |
ReadWrite | Read e Write |
Para obter mais informações sobre o CAS, consulte Segurança de acesso ao código e ADO.NET.
SqlFileStream(String, Byte[], FileAccess)
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 da tabela.
- transactionContext
- Byte[]
O contexto de transação para o objeto SqlFileStream
. Os aplicativos devem retornar uma matriz de bytes retornada com uma chamada ao método GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
O modo de acesso a ser usado ao abrir o arquivo. Os valores de enumeração FileAccess com suporte são Read, Write e ReadWrite.
Ao usar FileAccess.Read
, o objeto SqlFileStream
pode ser usado para ler todos os dados existentes.
Ao usar FileAccess.Write
, o SqlFileStream
aponta para um arquivo de zero byte. Os dados existentes serão substituídos quando o objeto for fechado e a transação for confirmada.
Ao usar FileAccess.ReadWrite
, o SqlFileStream
aponta para um arquivo que tem todos os dados existentes. O identificador está posicionado no início do arquivo. É possível usar um dos métodos System.IO
Seek
para mover a posição do identificador no arquivo para gravar ou anexar novos dados.
Exceções
path
é uma referência nula ou transactionContext
é nulo.
path
é uma cadeia de caracteres vazia (“”), contém somente espaços em branco ou contém um ou mais caracteres inválidos.
path
começa com “\\.\”, por exemplo, “\\.\PHYSICALDRIVE0”.
O identificador retornado pela chamada a NTCreateFile não é do tipo FILE_TYPE_DISK.
options
contém um valor sem suporte.
Não é possível encontrar o arquivo.
Ocorreu um erro de E/S.
O chamador não tem a permissão necessária.
O path
especificado é inválido, por exemplo, ele está em uma unidade não mapeada.
O acesso solicitado não é permitido pelo sistema operacional para o caminho especificado. Isso ocorre quando o acesso Write ou ReadWrite é especificado e o arquivo ou diretório está configurado para o acesso somente leitura.
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)
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 da tabela.
- transactionContext
- Byte[]
O contexto de transação para o objeto SqlFileStream
. Quando definido como nulo, uma transação implícita será usada para o objeto SqlFileStream
. Os aplicativos devem retornar uma matriz de bytes retornada com uma chamada ao método GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
O modo de acesso a ser usado ao abrir o arquivo. Os valores de enumeração FileAccess com suporte são Read, Write e ReadWrite.
Ao usar FileAccess.Read
, o objeto SqlFileStream
pode ser usado para ler todos os dados existentes.
Ao usar FileAccess.Write
, o SqlFileStream
aponta para um arquivo de zero byte. Os dados existentes serão substituídos quando o objeto for fechado e a transação for confirmada.
Ao usar FileAccess.ReadWrite
, o SqlFileStream
aponta para um arquivo que tem todos os dados existentes. O identificador está posicionado no início do arquivo. É possível usar um dos métodos System.IO
Seek
para mover a posição do identificador no arquivo para gravar ou anexar novos dados.
- options
- FileOptions
Especifica a opção a usar ao abrir o arquivo. Os valores de FileOptions compatíveis são Asynchronous, WriteThrough, SequentialScan e RandomAccess.
- allocationSize
- Int64
O tamanho de alocação a usar ao criar um arquivo. Se definido como 0, o valor padrão será usado.
Exceções
path
é uma referência nula ou transactionContext
é nulo.
path
é uma cadeia de caracteres vazia (“”), contém somente espaços em branco ou contém um ou mais caracteres inválidos.
path
começa com “\\.\”, por exemplo, “\\.\PHYSICALDRIVE0”.
O identificador retornado pela chamada para NTCreateFile não é do tipo FILE_TYPE_DISK.
options
contém um valor sem suporte.
Não é possível encontrar o arquivo.
Ocorreu um erro de E/S.
O chamador não tem a permissão necessária.
O path
especificado é inválido, por exemplo, ele está em uma unidade não mapeada.
O acesso solicitado não é permitido pelo sistema operacional para o caminho especificado. Isso ocorre quando o acesso Write ou ReadWrite é especificado e o arquivo ou diretório está configurado para o acesso somente leitura.
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.