gpt4 book ai didi

java - 中止插入...选择子句

转载 作者:行者123 更新时间:2023-12-01 13:32:52 26 4
gpt4 key购买 nike

是否可以从 Java 中中止 insert ... select 子句?使用 JDBC 或 Hibernate 都没有关系。数据库是Oracle。

我认为这是不可能的,因为只有一个数据库调用,并且该进程在 Oracle 中运行,而不是在 JVM 中运行。

最佳答案

Oracle OCI (C 驱动程序)提供 OCIBreak()  函数。它甚至是线程安全的,您可以从任何 bg 线程调用它,而主线程使用相同的连接。

也许 Statement.cancel()  会做同样的事情。

OCIBreak()  需要往返 DB server (即网络必须正常运行),然后主线程会收到错误:

java.sql.SQLException: ORA-01013: user requested cancel of current operation

您应该能够在 JBOSS  级别上将此异常标记为非关键(使用 ExceptionSorter)。

PS: 我真的很好奇这是否可以从 hibernate 状态调用。由于 JPA 在我们的数据库服务器上留下了许多长时间运行的查询。

关于java - 中止插入...选择子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21464328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com