Partager via


SqlDataReader.GetStream(Int32) Méthode

Définition

Extrait le fichier binaire, l'image, le varbinary, le type défini par l'utilisateur et les types de données Variant sous forme d'un 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

Paramètres

i
Int32

Numéro de colonne de base zéro.

Retours

Objet de flux.

Exceptions

La connexion est perdue ou est fermée pendant la récupération des données.

Fermeture de SqlDataReader au cours de la récupération des données.

Il n'existe aucune donnée prête à être lue (par exemple, le premier Read() n'a pas été appelé ou retourné comme false).

Tentative de lecture d'une colonne précédemment lue en mode séquentiel.

Il y avait une opération asynchrone en cours. Cela s'applique à toutes les méthodes Get* exécutées en mode séquentiel, car elles peuvent être appelées pendant la lecture d'un flux de données.

Tentative de lecture d'une colonne qui n'existe pas.

Le type retourné n'était pas l'un des types suivants :

  • binary

  • image

  • varbinary

  • udt

Remarques

ReadTimeout utilise par défaut la valeur de CommandTimeout; mais vous pouvez modifier ReadTimeout via GetStream.

Les valeurs Null sont retournées sous la forme d’un vide (zéro octet). Stream

GetBytes déclenche une exception lorsqu’elle InvalidOperationException est utilisée sur un objet retourné par GetStream quand SequentialAccess est en vigueur.

SqlExceptionles exceptions levées à partir de Stream sont levées en tant qu’exceptions IOException ; case activée l’exception interne pour .SqlException

Les membres suivants Stream ne sont pas disponibles pour les objets retournés par GetStream:

  • BeginWrite

  • EndWrite

  • Longueur

  • Position

  • Seek

  • SetLength

  • Write

  • WriteByte

  • WriteTimeout

Lorsque la propriété ContextConnection=truede connexion , GetStream prend uniquement en charge la récupération de données synchrone pour l’accès séquentiel (SequentialAccess) et non séquentiel (Default).

Pour plus d’informations, consultez Prise en charge de SqlClient Streaming.

S’applique à