Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le fournisseur OLE DB SQL Server Native Client expose l’interface ISequentialStream pour prendre en charge l’accès consommateur à SQL Server ntext, text, image, varchar(max), nvarchar(max), varbinary(max) et les types de données xml en tant qu’objets blob binaires. La méthode Read sur ISequentialStream permet au consommateur de récupérer beaucoup de données en blocs gérables.
Pour obtenir un exemple illustrant cette fonctionnalité, consultez Définir des données volumineuses (OLE DB).
Le fournisseur OLE DB SQL Server Native Client peut utiliser une interface IStorage implémentée par le consommateur lorsque le consommateur fournit le pointeur d’interface dans un accesseur lié à la modification des données.
Pour les types de données de grande valeur, le fournisseur OLE DB SQL Server Native Client recherche les hypothèses de taille de type dans les interfaces IRowset et DDL. Les colonnes avec des types de données varchar, nvarchar et varbinary dont la taille maximale est définie sur illimitée seront représentées en tant qu’ISLONG via les ensembles de lignes de schéma et les interfaces retournant des types de données de colonne.
Le fournisseur OLE DB SQL Server Native Client expose les types varchar(max), varbinary(max) et nvarchar(max) en tant que DBTYPE_STR, DBTYPE_BYTES et DBTYPE_WSTR respectivement.
Pour utiliser ces types, une application a les options suivantes :
Lier en tant que type (DBTYPE_STR, DBTYPE_BYTES, DBTYPE_WSTR). Si la mémoire tampon n’est pas assez volumineuse, exactement comme pour ces types dans les versions précédentes (bien que les valeurs plus grandes soient désormais disponibles).
Liez en tant que type et spécifiez également DBTYPE_BYREF.
Lier comme DBTYPE_IUNKNOWN et utiliser la diffusion en continu.
Si elle est liée à DBTYPE_IUNKNOWN, la fonctionnalité de flux ISequentialStream est utilisée. Le fournisseur OLE DB SQL Server Native Client prend en charge les paramètres de sortie de liaison comme DBTYPE_IUNKNOWN pour les types de données de grande valeur afin de faciliter les scénarios où une procédure stockée retourne ces types de données en tant que valeurs de retour qui seront exposées en tant que DBTYPE_IUNKNOWN au client.
Limitations de l’objet de stockage
Le fournisseur OLE DB SQL Server Native Client ne peut prendre en charge qu’un seul objet de stockage ouvert. Tente d’ouvrir plusieurs objets de stockage (pour obtenir une référence sur plusieurs pointeurs d’interface ISequentialStream ) retourne DBSTATUS_E_CANTCREATE.
Dans le fournisseur OLE DB SQL Server Native Client, la valeur par défaut de la propriété DBPROP_BLOCKINGSTORAGEOBJECTS en lecture seule est VARIANT_TRUE. Cela indique que si un objet de stockage est actif, certaines méthodes (autres que celles des objets de stockage) échouent avec E_UNEXPECTED.
La longueur des données présentées par un objet de stockage implémenté par le consommateur doit être connue du fournisseur OLE DB SQL Server Native Client lorsque l’accesseur de ligne qui fait référence à l’objet de stockage est créé. Le consommateur doit lier un indicateur de longueur dans la structure DBBINDING utilisée pour la création d’accesseur.
Si une ligne contient plus d’une valeur de données volumineuse et DBPROP_ACCESSORDER n’est pas DBPROPVAL_AO_RANDOM, le consommateur doit utiliser un ensemble de lignes pris en charge par le fournisseur OLE DB SQL Server Native Client pour récupérer des données de ligne ou traiter toutes les valeurs de données volumineuses avant de récupérer d’autres valeurs de ligne. Si DBPROP_ACCESSORDER est DBPROPVAL_AO_RANDOM, le fournisseur OLE DB SQL Server Native Client met en cache tous les types de données xml en tant qu’objets blob (BINARY Large Objects) afin qu’il soit accessible dans n’importe quel ordre.
Dans cette section
Voir aussi
SQL Server Native Client (OLE DB)
Utilisation de types de valeurs volumineuses