Partager via


Prise en charge de FILESTREAM (OLE DB)

À compter de SQL Server 2008 et SQL Server Native Client 10.0, OLE DB prend en charge la fonctionnalité FILESTREAM améliorée. Pour plus d’informations sur cette fonctionnalité, consultez la prise en charge DE FILESTREAM. Pour obtenir des exemples, consultez Filestream et OLE DB.

Pour envoyer et recevoir varbinary(max) des valeurs supérieures à 2 Go, une application utilise DBTYPE_IUNKNOWN dans les liaisons de paramètre et de résultat. Pour les paramètres, le fournisseur doit appeler IUnknown ::QueryInterface pour ISequentialStream et pour les résultats qui retournent ISequentialStream.

Pour OLE DB, la vérification des valeurs ISequentialStream est assouplie. Lorsque wType se trouve DBTYPE_IUNKNOWN dans le DBBINDING struct, la vérification de longueur peut être désactivée en omettant DBPART_LENGTH de dwPart ou en définissant la longueur des données (à l’obLength offset dans la mémoire tampon de données) sur ~0. Dans ce cas, le fournisseur ne vérifie pas la longueur de la valeur et demande et retourne toutes les données disponibles via le flux. Cette modification est appliquée à tous les types d’objets volumineux (LOB) et XML, mais uniquement lorsqu’elle est connectée à des serveurs SQL Server 2005 (ou version ultérieure). Cela offre une plus grande flexibilité aux développeurs, tout en conservant la cohérence et la compatibilité descendante pour les applications existantes et les serveurs de niveau inférieur.

Cette modification affecte toutes les interfaces qui transfèrent des données, principalement IRowset ::GetData, ICommand ::Execute et IRowsetFastLoad ::InsertRow.

Voir aussi

Programmation de SQL Server Native Client