SqlDataReader.GetStream(Int32) Метод

Определение

Извлекает типы данных binary, image, varbinary, UDT и variant как Stream.Retrieves binary, image, varbinary, UDT, and variant data types as a 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

Параметры

i
Int32

Порядковый номер столбца (от нуля).The zero-based column ordinal.

Возвращаемое значение

Объект потока.A stream object.

Исключения

Соединение разъединяется или закрывается во время извлечения данных.The connection drops or is closed during the data retrieval.

Объект SqlDataReader закрыт во время извлечения данных.The SqlDataReader is closed during the data retrieval.

Не существует данных, готовых для чтения (например, первый объект Read() не был вызван или вернул значение false).There is no data ready to be read (for example, the first Read() hasn't been called, or returned false).

Сделана попытка чтения ранее считанного столбца в последовательном режиме.Tried to read a previously-read column in sequential mode.

Выполнялась асинхронная операция.There was an asynchronous operation in progress. Относится ко всем методам Get* при работе в последовательном режиме, так как они могут вызываться при чтении потока.This applies to all Get* methods when running in sequential mode, as they could be called while reading a stream.

Попытка чтения столбца, который не существует.Trying to read a column that does not exist.

Возвращаемый тип не был одним из указанных ниже типов:The returned type was not one of the types below:

– binary- binary

– image- image

– varbinary- varbinary

– udt- udt

Комментарии

ReadTimeout значение по умолчанию равно CommandTimeout; Однако ReadTimeout можно изменить с помощью GetStream.ReadTimeout defaults to the value of CommandTimeout; but you can modify ReadTimeout via GetStream.

Значения null будут возвращены как пустые (нулевые байты) Stream.Null values will be returned as an empty (zero bytes) Stream.

GetBytes вызовет исключение InvalidOperationException при использовании объекта, возвращаемого GetStream, когда действует SequentialAccess.GetBytes will raise an InvalidOperationException exception when used on an object returned by GetStream when SequentialAccess is in effect.

SqlException исключения, вызванные из Stream, вызываются как исключения IOException; Проверьте внутреннее исключение для SqlException.SqlException exceptions raised from Stream are thrown as IOException exceptions; check the inner exception for the SqlException.

Следующие элементы Stream недоступны для объектов, возвращаемых GetStream:The following Stream members are not available for objects returned by GetStream:

  • BeginWriteBeginWrite

  • EndWriteEndWrite

  • ПродолжительностьLength

  • ПоложениеPosition

  • SeekSeek

  • SetLengthSetLength

  • ЗаписьWrite

  • WriteByteWriteByte

  • вритетимеаутWriteTimeout

Если свойство соединения ContextConnection=true, GetStream поддерживает синхронное получение данных только для последовательного (SequentialAccess) и непоследовательного доступа (Default).When the connection property ContextConnection=true, GetStream only supports synchronous data retrieval for both sequential (SequentialAccess) and non-sequential (Default) access.

Дополнительные сведения см. в разделе Поддержка потоковой передачи SqlClient.For more information, see SqlClient Streaming Support.

Применяется к