SqlFileStream Classe

Definição

Expõe os dados do SQL Server armazenados com o atributo da coluna FILESTREAM como uma sequência de bytes.

public ref class SqlFileStream sealed : System::IO::Stream
public sealed class SqlFileStream : System.IO.Stream
type SqlFileStream = class
    inherit Stream
Public NotInheritable Class SqlFileStream
Inherits Stream
Herança

Observações

A classe SqlFileStream é usada para trabalhar com dados varbinary(max) armazenados com o atributo FILESTREAM numa base de dados SQL Server 2008. Deve instalar o .NET Framework 3.5 SP1 (ou posterior) para usar SqlFileStream para trabalhar com dados FILESTREAM.

Especificar o atributo FILESTREAM numa coluna varbinary(max) faz com que SQL Server armazene os dados no sistema de ficheiros NTFS local em vez de no ficheiro da base de dados. Transact-SQL instruções fornecem capacidades de manipulação de dados dentro do servidor, e as interfaces do sistema de ficheiros Win32 fornecem acesso em streaming aos dados.

Note

Ficheiros individuais armazenados numa coluna FILESTREAM não podem ser abertos diretamente a partir do sistema de ficheiros NTFS. O streaming de dados do FILESTREAM funciona apenas no contexto de uma transação SQL Server.

A SqlFileStream classe é derivada da Stream classe, que representa uma abstração de uma sequência de bytes a partir de uma fonte de dados arbitrária, como um ficheiro ou um bloco de memória. Pode ler a partir de um FILESTREAM transferindo dados de um fluxo para uma estrutura de dados, como um array de bytes. Pode escrever num FILESTREAM transferindo os dados de uma estrutura de dados para um fluxo. Também pode procurar dentro do fluxo, o que lhe permite consultar e modificar dados na posição atual dentro do fluxo.

Para documentação conceptual e exemplos de código, veja FILESTREAM Data.

Para documentação sobre a configuração e configuração de dados FILESTREAM em SQL Server, consulte Designing and Implementing FILESTREAM Storage em SQL Server 2008 Books Online.

Construtores

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

Inicializa uma nova instância da SqlFileStream classe.

SqlFileStream(String, Byte[], FileAccess)

Inicializa uma nova instância da SqlFileStream classe.

Propriedades

Name Description
CanRead

Recebe um valor que indica se o fluxo atual suporta leitura.

CanSeek

Recebe um valor que indica se o fluxo atual suporta a procura.

CanTimeout

Recebe um valor que indica se o fluxo atual pode expirar.

CanWrite

Recebe um valor que indica se o fluxo atual suporta escrita.

Length

Recebe um valor que indica o comprimento do fluxo atual em bytes.

Name

Obtém o caminho lógico do SqlFileStream passado para o construtor.

Position

Obtém ou define a posição dentro do fluxo atual.

ReadTimeout

Recebe ou define um valor, em milissegundos, que determina quanto tempo o fluxo tentará ler antes de expirar.

TransactionContext

Obtém ou define o contexto da transação para este SqlFileStream objeto.

WriteTimeout

Recebe ou define um valor, em milissegundos, que determina quanto tempo o fluxo tenta escrever antes de expirar.

Métodos

Name Description
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Inicia uma operação de leitura assíncrona.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Inicia uma operação de escrita assíncrona.

Close()

Fecha o fluxo atual e liberta quaisquer recursos (como sockets e handles de ficheiros) associados ao fluxo atual. Em vez de chamar este método, certifique-se de que o fluxo é devidamente descartado.

(Herdado de Stream)
CopyTo(Stream, Int32)

Lê os bytes do fluxo atual e escreve-os noutro fluxo, usando um tamanho de buffer especificado. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyTo(Stream)

Lê os bytes do fluxo atual e escreve-os noutro fluxo. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Lê assíncronamente os bytes do fluxo atual e escreve-os noutro fluxo, usando um tamanho de buffer especificado e um token de cancelamento. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream, Int32)

Lê assíncronamente os bytes do fluxo atual e escreve-os noutro fluxo, usando um tamanho de buffer especificado. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CopyToAsync(Stream)

Lê assíncronamente os bytes do fluxo atual e escreve-os noutro fluxo. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

(Herdado de Stream)
CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
CreateWaitHandle()
Obsoleto.

Aloca um WaitHandle objeto.

(Herdado de Stream)
Dispose()

Liberta todos os recursos utilizados pelo Stream.

(Herdado de Stream)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo Stream e opcionalmente liberta os recursos geridos.

(Herdado de Stream)
EndRead(IAsyncResult)

Espera que a leitura assíncrona pendente seja concluída.

EndWrite(IAsyncResult)

Termina uma operação de escrita assíncrona.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Assegura que os recursos são libertados e que outras operações de limpeza são realizadas quando o coletor de lixo recupera o SqlFileStream.

Flush()

limpa todos os buffers deste fluxo e faz com que quaisquer dados armazenados sejam escritos no dispositivo subjacente.

FlushAsync()

Apaga assíncronamente todos os buffers deste fluxo e faz com que quaisquer dados armazenados sejam escritos no dispositivo subjacente.

(Herdado de Stream)
FlushAsync(CancellationToken)

Apaga assíncronamente todos os buffers deste fluxo, faz com que quaisquer dados armazenados sejam escritos no dispositivo subjacente e monitoriza os pedidos de cancelamento.

(Herdado de Stream)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
ObjectInvariant()
Obsoleto.

Fornece suporte para um Contract.

(Herdado de Stream)
Read(Byte[], Int32, Int32)

Lê uma sequência de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

A leitura assíncrona uma sequência de bytes do fluxo atual, avança a posição dentro do fluxo pelo número de bytes lidos e monitoriza pedidos de cancelamento.

(Herdado de Stream)
ReadAsync(Byte[], Int32, Int32)

A leitura assíncrona uma sequência de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos.

(Herdado de Stream)
ReadByte()

Lê um byte do fluxo e avança a posição dentro do fluxo em um byte, ou devolve -1 se estiver no final do fluxo.

Seek(Int64, SeekOrigin)

Define a posição dentro do fluxo atual.

SetLength(Int64)

Define o comprimento do fluxo atual.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
Write(Byte[], Int32, Int32)

Escreve uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo pelo número de bytes escritos.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Escreve assíncronamente uma sequência de bytes no fluxo atual, avança a posição atual dentro deste fluxo pelo número de bytes escritos e monitoriza pedidos de cancelamento.

(Herdado de Stream)
WriteAsync(Byte[], Int32, Int32)

Escreve assíncronamente uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo pelo número de bytes escritos.

(Herdado de Stream)
WriteByte(Byte)

Escreve um byte na posição atual no fluxo e avança a posição dentro do fluxo em um byte.

Aplica-se a

Ver também