如何关闭自动提交功能,有助于在JDBC中启动事务?

问题描述 投票:0回答:1

[许多文章和文档说,通过禁用自动提交,可以在JDBC中启动事务。 This Topic也问同样的问题,但它没有回答问题,只是说:

更改自动提交模式会触发当前事务的提交(如果一个事务处于活动状态。)>

好但是接下来呢?

为了寻找答案,我搜索并找到了this

  • 自动提交交易:
  • 每个单独的语句都是交易。

  • 明确交易:
  • 每个交易均以BEGIN TRANSACTION语句,并显式以COMMIT或结尾ROLLBACK语句。

  • 隐式交易:
  • 当先前的事务完成时,将隐式启动一个新事务,但是每个事务都是显式的用COMMIT或ROLLBACK语句完成。

然后我找到了this

提交交易

禁用自动提交模式后,在您显式调用方法commit之前,不会提交任何SQL语句。 在上一次调用方法commit之后执行的所有语句都包含在当前事务中,并作为一个单元一起提交。

因此,我得出结论,在禁用自动提交模式之后,我们处于隐式模式,我们还知道,为了禁用自动提交,已运行COMMIT语句,因此在将自动提交设置为关闭后,我们已经开始新交易。

我们可以根据这些情况得出这样的结论吗?结论正确吗?

[许多文章和文档说,通过禁用自动提交,可以在JDBC中启动事务。该主题也提出了相同的问题,但是它没有回答这个问题,只是说:...

java sql sql-server database jdbc
1个回答
0
投票

不,你不能。在JDBC中,自动提交仅控制事务何时结束。期望驱动程序在需要时启动事务。具体来说,JDBC 4.3 specification10.1事务边界和自动提交

© www.soinside.com 2019 - 2024. All rights reserved.