问题标签 [savepoints]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1757 浏览

java - Jdbc 检查功能 - 保存点发布

我有适用于各种数据库的通用 jdbc 代码。我有一些适用于事务和保存点的 api。

问题是某些数据库要求您手动释放保存点

有些只是在您进行手动发布时抛出异常(最值得注意的是 Oracle)。

我如何在运行时检查数据库是否具有自动保存点释放或者我是否需要手动进行。并且请,我有一些不错的 api。我不想捕获异常,在这种情况下它很丑陋且容易出错。抛出的异常是java.sql.SqlException,而不是“FeatureUnsupportedException”之类的。因此,如果有一个真正的错误并且我愚蠢地抓住了它,那么我可能会在整个交易过程中完全失败。

谢谢

0 投票
2 回答
698 浏览

java - 在测试自动化中设置保存点并回滚到它的最佳实践

我是 webservices 的新手,我正在考虑在使用 webServices 的测试自动化中使用保存点机制。下面是一个代码片段

设置保存点和回滚之间的操作是使用 webServices 进行的各种 CRUD 操作,因此当保存点回滚时,自动化过程中创建的脏数据将被擦除。我很想知道在这里使用保存点机制是否是一种好习惯,如果可以使用,那么创建+回滚保存点的平均时间是多少?

0 投票
0 回答
88 浏览

java - 如何在 jdbc3 中获取 savepoint() 的状态

我有三个不同数据库的三个保存点。我想知道从哪笔交易中出现了异常。所以基本上这些事务是按顺序运行的。如果事务 1 发生异常,那么我必须回滚到保存点 1。

如果事务2中发生异常,那么我必须回滚两个保存点,即保存点1和2。所以我的问题是如何找出那个事务导致异常以及我可以获得保存点的状态吗?

0 投票
1 回答
5663 浏览

sql - 保存点从未创建错误

我正在尝试在 Oracle 11g 中创建一个保存点。

但我不断从 SQL Developer 收到此错误

ROLLBACK TO SAVEPOINT1 错误报告:SQL 错误:ORA-01086:保存点 'SAVEPOINT1' 从未在此会话中建立或无效 01086. 00000 - “保存点 '%s' 从未建立” *原因:试图回滚到一个保存点从未成立。*行动:

0 投票
2 回答
1158 浏览

java - 在休眠会话上设置保存点

我是休眠的新手。我的项目需要以下场景。

例如,我正在插入 20 条记录数据类TestHBDemo

如何通过省略中间记录来仅插入 1 - 10 和 15 - 20 条记录

请最好在hibernate中为我提供解决方案,而不是使用javax.sql。

谢谢.....

0 投票
1 回答
8321 浏览

sql-server - 如何使用 try catch 管理嵌套事务

发生错误:

消息 3931,级别 16,状态 1,第 17 行当前事务无法提交,也无法回滚到保存点。回滚整个事务。

如何处理这个。

0 投票
1 回答
1621 浏览

db2 - db2 中无法识别保存点

我有以下查询 -

我收到以下错误

我是 DB2 新手,我没有得到任何启动事务类型语句,但是存在提交。

如何解决此错误?

解析度

我得到了关注-

它在我的上下文中运行良好。

0 投票
3 回答
13417 浏览

mysql - 错误 1305 (42000): SAVEPOINT ... 不存在

我的 MYSQL DB 中有这个 SQL(sproc 的主体为空,所以我猜没有隐式提交?)。

当我

我得到:错误 1305 (42000):SAVEPOINT sp_doOrder 不存在。

我可能会忽略一些东西......有什么想法吗?

0 投票
1 回答
6434 浏览

oracle - 如何在发出回滚之前检查是否已建立保存点?

我有一个 Oracle 包,它循环遍历过程列表并动态调用它们。在每个过程调用之前,都会创建一个 SAVEPOINT,如果引发异常,它会发出回滚并记录问题。最近引入了一个错误,其中一个动态过程添加了一个 COMMIT,当触发它时,SAVEPOINT 无效。如果相同的过程随后失败(引发异常)并且调用包的异常处理程序尝试回滚,则在异常处理程序块内引发以下异常:

现在,我可以在我的异常处理程序中放置另一个异常处理程序来处理这个特定的异常,但是如果我可以在尝试发出之前快速检查 SAVEPOINT 以查看它是否有效,那会更整洁回滚。这可能吗?

0 投票
3 回答
12650 浏览

spring - 如何使用 Hibernate 回滚到保存点嵌套事务

我有一个使用 Hibernate 连接到数据库的 JavaEE 应用程序。在我的应用程序的某些部分,我调用了具有@Transactional注释的方法。在其中一些情况下,我想回滚整个事务(外部服务方法调用和内部)。在某些情况下,我只想回滚内部服务方法调用(即回滚到在内部方法开始时定义的保存点)。

第一部分已经到位,但我对第二部分有疑问。当我执行以下操作时,我收到“UnexpectedRollbackException”消息“事务已回滚,因为它已被标记为仅回滚”。