Share via


Compatibilidad con FILESTREAM (OLE DB)

A partir de SQL Server 2008 y SQL Server Native Client 10.0, OLE DB admite la característica FILESTREAM mejorada. Para obtener más información acerca de esta característica, vea Compatibilidad con FILESTREAM.

Para enviar y recibir valores varbinary(max) mayores que 2 GB, una aplicación usa DBTYPE_IUNKNOWN en enlaces de resultados y parámetros. Para los parámetros el proveedor debe llamar a IUnknown::QueryInterface para ISequentialStream y para los resultados que devuelven ISequentialStream

Para OLE DB, la comprobación relacionada con los valores ISequentialStream será menos estricta. Cuando wType es DBTYPE_IUNKNOWN en la estructura DBBINDING, se puede deshabilitar la comprobación de la longitud omitiendo DBPART_LENGTH de dwPart o estableciendo la longitud de los datos (en desplazamiento obLength del búfer de datos) en ~ 0. En este caso, el proveedor no comprobará la longitud del valor y solicitará y devolverá todos los datos disponibles a través de la secuencia. Este cambio se aplicará a todos los tipos de objeto grandes (LOB) y XML, pero sólo cuando se realice la conexión a los servidores SQL Server 2005 (o posteriores). Esto proporcionará mayor flexibilidad para los programadores, a la vez que se mantendrá la coherencia y la compatibilidad con versiones anteriores para las aplicaciones existentes y los servidores de nivel inferior.

Este cambio afecta a todas las interfaces que transfieren datos, principalmente IRowset::GetData, ICommand::Execute e IRowsetFastLoad::InsertRow.