SqlFileStream Classe
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.
Expõe dados do SQL Server que são armazenados com o atributo de 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
-
SqlFileStream
Comentários
A SqlFileStream classe é usada para trabalhar com varbinary(max)
dados armazenados com o atributo FILESTREAM em um banco de dados SQL Server 2008. Você deve instalar o .NET Framework 3.5 SP1 (ou posterior) a ser usado SqlFileStream para trabalhar com dados FILESTREAM.
Especificar o atributo FILESTREAM em uma varbinary(max)
coluna faz com que SQL Server armazene os dados no sistema de arquivos NTFS local em vez de no arquivo de banco de dados. As instruções Transact-SQL fornecem recursos de manipulação de dados no servidor, e as interfaces do sistema de arquivos Win32 fornecem acesso de streaming aos dados.
Observação
Arquivos individuais armazenados em uma coluna FILESTREAM não podem ser abertos diretamente do sistema de arquivos NTFS. O streaming de dados FILESTREAM funciona apenas no contexto de uma transação de SQL Server.
A SqlFileStream classe é derivada da Stream classe , que representa uma abstração de uma sequência de bytes de alguma fonte de dados arbitrária, como um arquivo ou um bloco de memória. Você pode ler de um FILESTREAM transferindo dados de um fluxo para uma estrutura de dados, como uma matriz de bytes. Você pode gravar em um FILESTREAM transferindo os dados de uma estrutura de dados para um fluxo. Você também pode buscar dentro do fluxo, o que permite consultar e modificar dados na posição atual dentro do fluxo.
Para obter exemplos conceituais de documentação e código, consulte Dados FILESTREAM.
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.
Construtores
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64) |
Inicializa uma nova instância da classe SqlFileStream. |
SqlFileStream(String, Byte[], FileAccess) |
Inicializa uma nova instância da classe SqlFileStream. |
Propriedades
CanRead |
Obtém um valor que indica se o fluxo atual dá suporte à leitura. |
CanSeek |
Obtém um valor que indica se o fluxo atual dá suporte à busca. |
CanTimeout |
Obtém um valor que indica se o fluxo atual pode atingir o tempo limite. |
CanWrite |
Obtém um valor que indica se o fluxo atual dá suporte à gravação. |
Length |
Obtém um valor que indica o comprimento do fluxo atual em bytes. |
Name |
Obtém o caminho lógico do SqlFileStream transmitido ao construtor. |
Position |
Obtém ou define a posição no fluxo atual. |
ReadTimeout |
Obtém ou define um valor, em milissegundos, que determina por quanto tempo o fluxo tentará realizar a leitura antes do tempo limite. |
TransactionContext |
Obtém ou define o contexto de transação para este objeto SqlFileStream. |
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. |
Métodos
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 gravação assíncrona. |
EndRead(IAsyncResult) |
Espera a leitura assíncrona pendente ser concluída. |
EndWrite(IAsyncResult) |
Encerra uma operação de gravação assíncrona. |
Finalize() |
Destruidor do objeto da classe SqlFileStream. |
Flush() |
Limpa todos os buffers nesse fluxo e faz com que os dados armazenados em buffer sejam gravados no dispositivo subjacente. |
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. |
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. |
Seek(Int64, SeekOrigin) |
Define a posição no fluxo atual. |
SetLength(Int64) |
Define o comprimento do fluxo atual. |
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. |
WriteByte(Byte) |
Grava um byte na posição atual no fluxo e avança a posição dentro no fluxo em um byte. |