Partager via


Prise en charge de FILESTREAM (OLE DB)

À partir 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 Prise en charge de FILESTREAM.

Pour envoyer et recevoir des valeurs varbinary(max) supérieures à 2 Go, une application utilise DBTYPE_IUNKNOWN dans les liaisons de résultat et de paramètre. 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 en rapport avec les valeurs ISequentialStream sera levée. Lorsque wType est DBTYPE_IUNKNOWN dans le struct DBBINDING, la vérification de la longueur peut être désactivée en omettant DBPART_LENGTH de dwPart ou en définissant la longueur des données (au niveau du décalage obLength dans le tampon de données) sur ~0. Dans ce cas, le fournisseur ne vérifiera pas la longueur de la valeur et demandera et retournera toutes les données disponibles par le biais du flux de données. Cette modification sera appliquée à tous les types d'objets volumineux (LOB) et XML, mais uniquement en cas de connexion à des serveurs SQL Server 2005 (ou ultérieurs). Cela offrira une plus grande souplesse aux développeurs, tout en maintenant la cohérence et la compatibilité descendante des applications existantes et des serveurs de niveau inférieur.

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