如何设置大型数据 (OLE DB)
为了将指针传递给它自己的存储对象,使用者创建一个绑定 BLOB 列的值的取值函数,然后调用 IRowsetChange::SetData 或 IRowsetChange::InsertRow 方法。
过程
设置 BLOB 数据
创建一个描述应如何访问 BLOB 列的 DBOBJECT 结构。将 DBOBJECT 结构的 dwFlag 元素设置为 STGM_READ,并且将 iid 元素设置为 IID_ISequentialStream(要公开的接口)。
设置 DBPROPSET_ROWSET 属性组中的属性,以使行集可更新。
通过使用 DBBINDING 结构数组创建一组绑定(每列一个)。将 DBBINDING 结构中的 wType 元素设置为 DBTYPE_IUNKNOWN,并将 pObject 元素设置为指向您创建的 DBOBJECT 结构。
使用 DBBINDINGS 结构数组中的绑定信息创建取值函数。
调用 GetNextRows 以将后续的行提取到行集中。调用 GetData 以读取行集中的数据。
若要设置数据,请创建包含数据(以及长度指示器)的存储对象,然后使用绑定 BLOB 列的取值函数调用 IRowsetChange::SetData(或 IRowsetChange::InsertRow)。
备注
完整示例代码见文件 WorkingWithBLOBs.cpp。可以从 MSDN 上的 SQL Server Downloads(SQL Server 下载)页下载包含此示例的存档。
该示例是使用 Microsoft Visual C++ 2005 开发的。
安全说明 |
---|
请尽可能使用 Windows 身份验证。如果 Windows 身份验证不可用,请在运行时提示用户输入其凭据。不要将凭据存储在一个文件中。如果必须保存凭据,应当用 Win32 crypto API(Win32 加密 API)加密它们。 |