API 隐式事务

可以使用 OLE DB 和 ODBC 应用程序编程接口 (API) 的功能来指定隐式事务。

OLE DB

OLE DB 没有专门用来设置隐式事务模式的方法。

  • 调用 ITransactionLocal::StartTransaction 方法来启动显式事务。
  • 当调用 ITransaction::CommitITransaction::Abort 方法(其中 fRetaining 设置为 TRUE)时,OLE DB 将完成当前的事务并进入隐式事务模式。只要将 ITransaction::CommitITransaction::Abort 中的 fRetaining 设置为 TRUE,连接就将保持隐式事务模式。
  • 调用 ITransaction::CommitITransaction::Abort(其中 fRetaining 设置为 FALSE)停止隐式事务模式。

ODBC

  • 调用 SQLSetConnectAttr 函数来启动隐式事务模式,其中 Attribute 设置为 SQL_ATTR_AUTOCOMMIT,ValuePtr 设置为 SQL_AUTOCOMMIT_OFF。
  • 连接一直保持隐式事务模式,直到调用 SQLSetConnectAttr,其中 Attribute 设置为 SQL_ATTR_AUTOCOMMIT,ValuePtr 设置为 SQL_AUTOCOMMIT_ON。
  • 调用 SQLEndTran 函数来提交或回滚每个事务,其中 CompletionType 设置为 SQL_COMMIT 或 SQL_ROLLBACK。
  • 当 SQL_AUTOCOMMIT_OFF 由 ODBC 应用程序设置时,SQL Server ODBC 驱动程序将发出 SET IMPLICIT_TRANSACTION ON 语句。

ADO

ADO 不支持隐式事务。ADO 应用程序使用自动提交模式或显式模式。

请参阅

其他资源

Transactions
Performing Transactions (ODBC)

帮助和信息

获取 SQL Server 2005 帮助