Compartilhar via


SqlDataReader.GetStream(Int32) Método

Definição

Recupera binário, imagem, varbinary, UDT e tipos de dados Variant como um Stream.

public:
 override System::IO::Stream ^ GetStream(int i);
public override System.IO.Stream GetStream (int i);
override this.GetStream : int -> System.IO.Stream
Public Overrides Function GetStream (i As Integer) As Stream

Parâmetros

i
Int32

O ordinal da coluna baseado em zero.

Retornos

Um objeto de fluxo.

Exceções

A conexão cai ou é fechada durante a recuperação de dados.

O SqlDataReader é fechado durante a recuperação de dados.

Não há dados prontos para serem lidos (por exemplo, o primeiro Read() não foi chamado ou retornou false).

Tentativa de ler uma coluna lida anteriormente no modo sequencial.

Havia uma operação assíncrona em andamento. Isso se aplica a todos os métodos Get* executados no modo sequencial, pois eles podem ser chamados durante a leitura de um fluxo.

Tentativa de ler uma coluna não existente.

O tipo retornado não foi um dos tipos a seguir:

  • binary

  • image

  • varbinary

  • udt

Comentários

ReadTimeout usa como padrão o valor de CommandTimeout; mas você pode modificar ReadTimeout por meio de GetStream.

Os valores nulos serão retornados como um vazio (zero bytes). Stream

GetBytes gerará uma exceção InvalidOperationException quando usado em um objeto retornado por GetStream quando SequentialAccess estiver em vigor.

SqlExceptionexceções geradas de Stream são geradas como IOException exceções; marcar a exceção interna para o SqlException.

Os seguintes Stream membros não estão disponíveis para objetos retornados por GetStream:

  • BeginWrite

  • EndWrite

  • Tamanho

  • Posição

  • Seek

  • SetLength

  • Gravar

  • WriteByte

  • WriteTimeout

Quando a propriedade ContextConnection=truede conexão , GetStream só dá suporte à recuperação de dados síncrona para acesso sequencial (SequentialAccess) e não sequencial (Default).

Para obter mais informações, consulte Suporte ao Streaming do SqlClient.

Aplica-se a