Compartir a través de


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 sobre esta característica, vea Compatibilidad con FILESTREAM. Para ver ejemplos, consulte FileStream y OLE DB.

Para enviar y recibir valores varbinary(max) mayores de 2 GB, una aplicación usa DBTYPE_IUNKNOWN en enlaces de resultados y parámetros. En el caso de 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 está DBTYPE_IUNKNOWN en la DBBINDING estructura, la comprobación de longitud se puede deshabilitar omitiendo de dwPart o estableciendo DBPART_LENGTH la longitud de los datos (en obLength de desplazamiento en el 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 del flujo. Este cambio se aplicará a todos los tipos de objetos grandes (LOB) y XML, pero solo cuando se conecte a servidores SQL Server 2005 (o posterior). 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 y IRowsetFastLoad::InsertRow.

Consulte también

Programación de SQL Server Native Client