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 应用程序使用自动提交模式或显式模式。