SqlFileStream Classe

Definição

Expõe dados do SQL Server que são armazenados com o atributo de coluna FILESTREAM como uma sequência de bytes.Exposes SQL Server data that is stored with the FILESTREAM column attribute as a sequence of 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
SqlFileStream
Herança

Comentários

A classe SqlFileStream é usada para trabalhar com varbinary(max) dados armazenados com o atributo FILESTREAM em um banco de dados SQL Server 2008.The SqlFileStream class is used to work with varbinary(max) data stored with the FILESTREAM attribute in a SQL Server 2008 database. Você deve instalar o .NET Framework 3,5 SP1 (ou posterior) para usar SqlFileStream para trabalhar com dados FILESTREAM.You must install the .NET Framework 3.5 SP1 (or later) to use SqlFileStream to work with FILESTREAM data.

Especificar o atributo FILESTREAM em uma coluna varbinary(max) faz com que SQL Server armazene os dados no sistema de arquivos NTFS local, em vez de no arquivo de banco de dados.Specifying the FILESTREAM attribute on a varbinary(max) column causes SQL Server to store the data in the local NTFS file system instead of in the database file. As instruções Transact-SQL fornecem recursos de manipulação de dados no servidor, e as interfaces do sistema de arquivos do Win32 fornecem acesso de streaming aos dados.Transact-SQL statements provide data manipulation capabilities within the server, and Win32 file system interfaces provide streaming access to the data.

Observação

Arquivos individuais armazenados em uma coluna FILESTREAM não podem ser abertos diretamente do sistema de arquivos NTFS.Individual files stored in a FILESTREAM column cannot be opened directly from the NTFS file system. O streaming de dados FILESTREAM funciona apenas no contexto de uma transação SQL Server.Streaming FILESTREAM data works only in the context of a SQL Server transaction.

A classe SqlFileStream é derivada da classe Stream, que representa uma abstração de uma sequência de bytes de uma fonte de dados arbitrária, como um arquivo ou um bloco de memória.The SqlFileStream class is derived from the Stream class, which represents an abstraction of a sequence of bytes from some arbitrary data source such as a file or a block of memory. Você pode ler de um FILESTREAM transferindo dados de um fluxo para uma estrutura de dados, como uma matriz de bytes.You can read from a FILESTREAM by transferring data from a stream into a data structure such as an array of bytes. Você pode gravar em um FILESTREAM transferindo os dados de uma estrutura de dados para um fluxo.You can write to a FILESTREAM by transferring the data from a data structure into a stream. Você também pode buscar dentro do fluxo, que permite consultar e modificar dados na posição atual dentro do fluxo.You can also seek within the stream, which allows you to query and modify data at the current position within the stream.

Para obter documentação conceitual e exemplos de código, consulte dados de FileStream.For conceptual documentation and code examples, see FILESTREAM Data.

Para obter a documentação sobre como configurar e configurar dados FILESTREAM em SQL Server, consulte projetando e implementando o armazenamento FileStream nos Manuais Online do SQL Server 2008.For documentation about setting up and configuring FILESTREAM data on SQL Server, see Designing and Implementing FILESTREAM Storage in SQL Server 2008 Books Online.

Construtores

SqlFileStream(String, Byte[], FileAccess)

Inicializa uma nova instância da classe SqlFileStream.Initializes a new instance of the SqlFileStream class.

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

Inicializa uma nova instância da classe SqlFileStream.Initializes a new instance of the SqlFileStream class.

Propriedades

CanRead

Obtém um valor que indica se o fluxo atual dá suporte à leitura.Gets a value indicating whether the current stream supports reading.

CanSeek

Obtém um valor que indica se o fluxo atual dá suporte à busca.Gets a value indicating whether the current stream supports seeking.

CanTimeout

Obtém um valor que indica se o fluxo atual pode atingir o tempo limite.Gets a value indicating whether the current stream can time out.

CanWrite

Obtém um valor que indica se o fluxo atual dá suporte à gravação.Gets a value indicating whether the current stream supports writing.

Length

Obtém um valor que indica o comprimento do fluxo atual em bytes.Gets a value indicating the length of the current stream in bytes.

Name

Obtém o caminho lógico do SqlFileStream transmitido ao construtor.Gets the logical path of the SqlFileStream passed to the constructor.

Position

Obtém ou define a posição no fluxo atual.Gets or sets the position within the current stream.

ReadTimeout

Obtém ou define um valor, em milissegundos, que determina por quanto tempo o fluxo tentará realizar a leitura antes do tempo limite.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

TransactionContext

Obtém ou define o contexto de transação para este objeto SqlFileStream.Gets or sets the transaction context for this SqlFileStream object.

WriteTimeout

Obtém ou define um valor, em milissegundos, que determina por quanto tempo o fluxo tentará realizar a gravação antes do tempo limite.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

Métodos

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

Inicia uma operação de leitura assíncrona.Begins an asynchronous read operation.

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

Inicia uma operação de gravação assíncrona.Begins an asynchronous write operation.

Close()

Fecha o fluxo atual e libera todos os recursos (como soquetes e identificadores de arquivos) associados ao fluxo atual.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Em vez de chamar esse método, verifique se o fluxo é descartado corretamente.Instead of calling this method, ensure that the stream is properly disposed.

(Herdado de Stream)
CopyTo(Stream)

Lê os bytes do fluxo atual e os grava em outro fluxo.Reads the bytes from the current stream and writes them to another stream.

(Herdado de Stream)
CopyTo(Stream, Int32)

Lê os bytes do fluxo atual e os grava em outro fluxo usando um tamanho do buffer especificado.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Herdado de Stream)
CopyToAsync(Stream)

Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo.Asynchronously reads the bytes from the current stream and writes them to another stream.

(Herdado de Stream)
CopyToAsync(Stream, CancellationToken)

Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo usando um token de cancelamento especificado.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Herdado de Stream)
CopyToAsync(Stream, Int32)

Lê de maneira assíncrona os bytes do fluxo atual e os grava em outro fluxo usando um tamanho do buffer especificado.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

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

Lê de forma assíncrona os bytes do fluxo atual e os grava em outro fluxo usando um tamanho do buffer especificado e um token de cancelamento.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(Herdado de Stream)
CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Herdado de MarshalByRefObject)
CreateWaitHandle()

Aloca um objeto WaitHandle.Allocates a WaitHandle object.

(Herdado de Stream)
Dispose()

Libera todos os recursos usados pelo Stream.Releases all resources used by the Stream.

(Herdado de Stream)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo Stream e opcionalmente libera os recursos gerenciados.Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

(Herdado de Stream)
DisposeAsync()

Libera de forma assíncrona os recursos não gerenciados usados pelo Stream.Asynchronously releases the unmanaged resources used by the Stream.

(Herdado de Stream)
EndRead(IAsyncResult)

Espera a leitura assíncrona pendente ser concluída.Waits for the pending asynchronous read to complete.

EndWrite(IAsyncResult)

Encerra uma operação de gravação assíncrona.Ends an asynchronous write operation.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
Finalize()

Garante que os recursos são liberados e outras operações de limpeza são executadas quando o coletor de lixo recupera o objeto SqlFileStream.Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the SqlFileStream.

Flush()

Limpa todos os buffers nesse fluxo e faz com que os dados armazenados em buffer sejam gravados no dispositivo subjacente.clears all buffers for this stream and causes any buffered data to be written to the underlying device.

FlushAsync()

Limpa de forma assíncrona todos os buffers nesse fluxo e faz com que os dados armazenados em buffer sejam gravados no dispositivo subjacente.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Herdado de Stream)
FlushAsync(CancellationToken)

Limpa todos os buffers nesse fluxo de forma assíncrona, faz com que os dados armazenados em buffer sejam gravados no dispositivo subjacente e monitora as solicitações de cancelamento.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

(Herdado de Stream)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
InitializeLifetimeService()

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.Obtains a lifetime service object to control the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

(Herdado de MarshalByRefObject)
ObjectInvariant()

Oferece suporte a um Contract.Provides support for a Contract.

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

Lê uma sequência de bytes do fluxo atual e avança a posição no fluxo até o número de bytes lidos.Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

Read(Span<Byte>)

Quando for substituído em uma classe derivada, lê uma sequência de bytes do fluxo atual e avança a posição dentro do fluxo até o número de bytes lidos.When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

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

Lê uma sequência de bytes do fluxo atual de forma assíncrona e avança a posição no fluxo até o número de bytes lidos.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

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

Lê de forma assíncrona uma sequência de bytes do fluxo atual, avança a posição no fluxo até o número de bytes lidos e monitora as solicitações de cancelamento.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(Herdado de Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Lê de forma assíncrona uma sequência de bytes do fluxo atual, avança a posição no fluxo até o número de bytes lidos e monitora as solicitações de cancelamento.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(Herdado de Stream)
ReadByte()

Lê um byte do fluxo e avança a posição no fluxo em um byte ou retorna -1 caso esteja no final do fluxo.Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

Seek(Int64, SeekOrigin)

Define a posição no fluxo atual.Sets the position within the current stream.

SetLength(Int64)

Define o comprimento do fluxo atual.Sets the length of the current stream.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

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

Grava uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo pelo número de bytes gravados.Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

Write(ReadOnlySpan<Byte>)

Quando for substituído em uma classe derivada, grava uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo até o número de bytes gravados.When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

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

Grava assincronamente uma sequência de bytes no fluxo atual e avança a posição atual dentro desse fluxo no número de bytes gravados.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

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

Grava uma sequência de bytes no fluxo atual assincronamente, avança a posição atual dentro desse fluxo pelo número de bytes gravados e monitora as solicitações de cancelamento.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(Herdado de Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Grava uma sequência de bytes no fluxo atual assincronamente, avança a posição atual dentro desse fluxo pelo número de bytes gravados e monitora as solicitações de cancelamento.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(Herdado de Stream)
WriteByte(Byte)

Grava um byte na posição atual no fluxo e avança a posição dentro no fluxo em um byte.Writes a byte to the current position in the stream and advances the position within the stream by one byte.

Implantações explícitas de interface

IDisposable.Dispose()

Libera todos os recursos usados pelo Stream.Releases all resources used by the Stream.

(Herdado de Stream)

Métodos de Extensão

CopyToAsync(Stream, PipeWriter, CancellationToken)

Lê de forma assíncrona os bytes do Stream e grava-os no PipeWriter especificado usando um token de cancelamento especificado.Asynchronously reads the bytes from the Stream and writes them to the specified PipeWriter, using a cancellation token.

AsInputStream(Stream)

Converte um fluxo gerenciado no .NET para Aplicativos da Windows Store em um fluxo de entrada no Windows Runtime.Converts a managed stream in the .NET for Windows Store apps to an input stream in the Windows Runtime.

AsOutputStream(Stream)

Converte um fluxo gerenciado no .NET para Aplicativos da Windows Store em um fluxo de saída no Windows Runtime.Converts a managed stream in the .NET for Windows Store apps to an output stream in the Windows Runtime.

AsRandomAccessStream(Stream)

Converte o fluxo especificado em um fluxo de acesso aleatório.Converts the specified stream to a random access stream.

Aplica-se a

Veja também