FILESTREAM 支持 (OLE DB)

从 SQL Server 2008 和 SQL Server Native Client 10.0 开始,OLE DB 支持增强的 FILESTREAM 功能。 有关此功能的详细信息,请参阅 FILESTREAM 支持。 有关示例,请参阅 Filestream 和 OLE DB

为了发送和接收大于 2 GB 的 varbinary(max) 值,应用程序在参数和结果绑定中使用 DBTYPE_IUNKNOWN。 对于参数,提供程序必须为 ISequentialStream 和返回 ISequentialStream 的结果调用 IUnknown::QueryInterface。

对于 OLE DB,对与 ISequentialStream 值相关的检查将放宽。 当 wType 位于DBTYPE_IUNKNOWN结构中DBBINDING时,可以通过从 dwPart 中省略DBPART_LENGTH或将数据 (的长度设置为数据缓冲区中的 offset obLength 来禁用长度检查,) 设置为 ~0。 在此情况下,提供程序将不检查值的长度,并且将请求和返回可通过流提供的所有数据。 此更改将应用于所有大型对象 (LOB) 类型和 XML,但仅当连接到 SQL Server 2005 (或更高版本) 服务器时。 这将为开发人员提供更高的灵活性,同时为现有应用程序和下级服务器维护一致性和向下兼容性。

这一更改会影响传输数据的所有接口,主要影响 IRowset::GetData、ICommand::Execute 和 IRowsetFastLoad::InsertRow。

另请参阅

SQL Server Native Client 编程