IRowsetFastLoad::Commit (Native Client OLE DB Provider)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
重要
已从 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除 SQL Server Native Client(通常缩写为 SNAC)。 不建议在新的开发工作中使用 SQL Server Native Client OLE DB 提供程序(SQLNCLI 或 SQLNCLI11)和旧版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB)。 此后请切换到新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server。
标记一批插入的行的末尾并将这些行写入 SQL Server 表。 有关示例,请参阅使用 IRowsetFastLoad 大容量复制数据 (OLE DB) 和使用 IROWSETFASTLOAD 和 ISEQUENTIALSTREAM 将 BLOB 数据发送到 SQL Server (OLE DB)。
语法
HRESULT Commit(
BOOL fDone);
参数
fDone[in]
如果是 FALSE,则行集保持有效性,并且可由使用者用于插入其他行。 如果是 TRUE,则行集失去有效性,并且使用者无法执行进一步的插入。
返回代码值
S_OK
方法成功,并且所有插入的数据已写入 SQL Server 表。
E_FAIL
发生了特定于访问接口的错误。 从访问接口检索特定错误文本的错误信息。
E_UNEXPECTED
对以前被 IRowsetFastLoad::Commit 方法作废的大容量复制行集调用了该方法。
注解
SQL Server Native Client OLE DB 访问接口大容量复制行集的行为是延迟更新模式行集。 当用户通过行集插入行数据时,对插入行的处理方式与在支持 IRowsetUpdate 的行集上挂起插入相同 。
使用者必须对大容量复制行集调用 Commit 方法,才能以与使用 IRowsetUpdate::Update 方法将挂起行提交到 SQL Server 实例相同的方式将插入行写入 SQL Server 表。
如果使用者释放其对大容量复制行集的引用,而不调用 Commit 方法,则以前未写入的所有插入行将丢失 。
通过在将 fDone 参数设置为 FALSE 的情况下调用 Commit 方法,使用者可以成批插入行 。 当 fDone 设置为 TRUE 时,行集变为无效 。 无效的大容量复制行集仅支持 ISupportErrorInfo 接口和 IRowsetFastLoad::Release 方法 。