如何设置大型数据 (OLE DB)

为了将指针传递给它自己的存储对象,使用者创建一个绑定 BLOB 列的值的取值函数,然后调用 IRowsetChange::SetData 或 IRowsetChange::InsertRow 方法。

过程

设置 BLOB 数据

  1. 创建一个描述应如何访问 BLOB 列的 DBOBJECT 结构。将 DBOBJECT 结构的 dwFlag 元素设置为 STGM_READ,并且将 iid 元素设置为 IID_ISequentialStream(要公开的接口)。

  2. 设置 DBPROPSET_ROWSET 属性组中的属性,以使行集可更新。

  3. 通过使用 DBBINDING 结构数组创建一组绑定(每列一个)。将 DBBINDING 结构中的 wType 元素设置为 DBTYPE_IUNKNOWN,并将 pObject 元素设置为指向您创建的 DBOBJECT 结构。

  4. 使用 DBBINDINGS 结构数组中的绑定信息创建取值函数。

  5. 调用 GetNextRows 以将后续的行提取到行集中。调用 GetData 以读取行集中的数据。

  6. 若要设置数据,请创建包含数据(以及长度指示器)的存储对象,然后使用绑定 BLOB 列的取值函数调用 IRowsetChange::SetData(或 IRowsetChange::InsertRow)。

备注

完整示例代码见文件 WorkingWithBLOBs.cpp。可以从 MSDN 上的 SQL Server Downloads(SQL Server 下载)页下载包含此示例的存档。

该示例是使用 Microsoft Visual C++ 2005 开发的。

安全说明安全说明

请尽可能使用 Windows 身份验证。如果 Windows 身份验证不可用,请在运行时提示用户输入其凭据。不要将凭据存储在一个文件中。如果必须保存凭据,应当用 Win32 crypto API(Win32 加密 API)加密它们。