API 隐式事务
可以使用 OLE DB 和 ODBC 应用程序编程接口 (API) 的功能来指定隐式事务。
OLE DB
OLE DB 没有专门用来设置隐式事务模式的方法。
- 调用 ITransactionLocal::StartTransaction 方法来启动显式事务。
- 当调用 ITransaction::Commit 或 ITransaction::Abort 方法(其中 fRetaining 设置为 TRUE)时,OLE DB 将完成当前的事务并进入隐式事务模式。只要将 ITransaction::Commit 或 ITransaction::Abort 中的 fRetaining 设置为 TRUE,连接就将保持隐式事务模式。
- 调用 ITransaction::Commit 或 ITransaction::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)