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 Prise en charge DE FILESTREAM. Pour obtenir des exemples, consultez Filestream et OLE DB.
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 se trouve DBTYPE_IUNKNOWN
dans le struct, la DBBINDING
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 moment de l’obLength décalage dans la mémoire 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 lorsqu’il est connecté à SQL Server serveurs 2005 (ou versions ultérieures). 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::Execute et IRowsetFastLoad::InsertRow.