API 隐性事务
用来设置隐性事务的 API 机制是 ODBC 和 OLE DB。
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 应用程序设置时,Microsoft® SQL Server™ ODBC 驱动程序发出 SET IMPLICIT_TRANSACTION ON 语句。
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)停止隐性事务模式。
ADO
ADO 不支持隐性事务。ADO 应用程序使用自动提交模式或显式模式。
请参见
事务
执行事务
上一篇:SQLServer 分布式事务
下一篇:SQLServer Transact-SQL 隐性事务