我知道您可以设置用户个人资料或设置查询的一般超时时间。
但是我希望对过程中的特定查询设置超时并捕获异常,例如:
begin
update tbl set col = v_val; --Unlimited time
delete from tbl where id = 20; --Unlimited time
begin
delete from tbl; -- I want this to have a limited time to perform
exception when (timeout???) then
--code;
end;
end;
这可能吗?我可以捕获所有超时异常吗?每个块或查询?找不到有关该主题的太多信息。
不,您不能在pl / sql中设置超时。为此,您可以使用宿主语言来嵌入sql和pl / sql。
问题内容: 我在检索Java中匿名PLSQL块的结果时遇到了一些麻烦。 这是块: 我把查询放在一个字符串中: 那字符串正确吗? 尝试检索的方法: 当我收到此消息时,它不起作用: 那我该如何找回呢? 问题答案: 这是因为 隐式 日期转换失败。添加而不是直接将日期字符串分配给日期变量。如果使用,则不需要。 隐式转换通常取决于会话的。 您的罪魁祸首。实际上将尝试转换为日期。因此引发了异常! 然后, 将设
问题内容: 如何为此操作创建超时:? 问题答案: 我相信正确的方法将是这样的: 当然,这是我使用Oracle的地方,但是我希望这可以给您一个想法。
问题内容: 嗨,我有一个命名查询 我想这样设置限制: 但这在服务器启动时显示错误。我正在使用以下代码在DAO类中调用查询: 需要设置开始和结束参数。请帮忙。 问题答案: 正如@DataNucleus所说,LIMIT在JPQL中不是有效的关键字。这不是指定要返回多少行的方法。这是您的操作方式: 这将是调用命名查询的代码:
如何在应用程序级别配置默认查询超时。我使用spring、hibernate和db2作为后端。在datasource级别设置超时不是一个选项,因为我们使用的是旧版本的IBM WebSphere。我尝试在事务管理器中配置defaultTimeout,但这没有帮助。我也不想集成c3p0连接池。hibernate是否为在应用程序级别设置全局查询超时提供了其他选项,如果是,如何配置。
问题内容: 我目前从EntityManager查询中收到连接超时错误。是否可以为这些设置超时? persistence.xml 代码在我的线程的运行功能中超时: 我收到的超时错误: 问题答案: 是的,那里有 javax.persistence.query.timeout 。根据JPA 2.0规范,对此查询提示的支持是可选的: 可移植应用程序不应依赖此提示。根据使用的持久性提供程序和数据库,可能会或
我正在使用Spring框架。使用NamedParameterJdbcTemplate时,如何设置查询超时?我注意到JdbcTemplate有一个setQueryTimeout(int queryTimeout)方法,但我还没有找到一种使用NamedParameterJdbcTemplate实现这一点的方法。它有一个getJdbcOperations()方法,但似乎没有公开setQueryTimeo