SqlDataReader.GetTextReader(Int32) Method


Retrieves Char, NChar, NText, NVarChar, text, varChar, and Variant data types as a TextReader.

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



The column to be retrieved.



The returned object.


The connection drops or is closed during the data retrieval.

The SqlDataReader is closed during the data retrieval.

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. 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:

  • char

  • nchar

  • ntext

  • nvarchar

  • text

  • varchar


SqlException exceptions raised from TextReader are thrown as IOException exceptions; check the inner exception for the SqlException.

Null values will be returned as an empty (zero bytes) TextReader.

GetChars will raise an InvalidOperationException exception when used on an object returned by GetTextReader when SequentialAccess is in effect.

When the connection property ContextConnection=true, GetTextReader only supports synchronous data retrieval for both sequential (SequentialAccess) and non-sequential (Default) access.

For more information, see SqlClient Streaming Support.

Applies to