- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们在 Db2 上面临查询超时属性的问题,当我们在 WebSphere 中运行应用程序时它正在工作,然后我们转移到 Tomcat,这个问题最近被一个很长的查询所困扰,该查询挂起很长时间,直到45 分钟后超时,我们的部分代码如下,自从迁移到 Tomcat 以来它们没有更改:
CallableStatement cs = statementFactory.createCallableStatement(getConnection(), source.getSQL(),
statementConfig);
cs.setQueryTimeout(10);
boolean resultSetAvailable = cs.execute();
if (resultSetAvailable) {
resultSet = cs.getResultSet();
} else {
resultSet = CallableStatementParamsUtils.checkForOutResultSet(cs, storedProc);
}
我将超时设置为 10 秒,但根本没有超时,有人知道为什么吗?
困难是Db2驱动程序不是开源的,无法调试它,如何使用Db2解决这个问题?
最佳答案
在这种情况下,使用 jdbc 类型 4 驱动程序似乎有助于解决该问题。
请注意,IBM db2 jdbc 驱动程序支持跟踪问题确定,如 here 中所述。 .
在处理 Db2 的 jdbc 问题时,确保您使用的是最新的 jdbc 驱动程序总是有帮助的,可以通过此 page 获取该驱动程序。 .
从评论来看,之前的 jdbc 驱动程序是 type-2 驱动程序(仅在特定配置下支持查询超时,如 Db2 知识中心中的 IBM 文档,注释复制如下)。
关于此的各种 IBM 注释 page关于 jdbc 中的 queryTimeout 支持是必读的,即:
For DB2 for i, this method (setQueryTimeout) is supported only for a seconds value of 0.
For IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS, Statement.setQueryTimeout is supported only if Connection or DataSource property queryTimeoutInterruptProcessingMode is set to INTERRUPT_PROCESSING_MODE_CLOSE_SOCKET.
For IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 on Linux, UNIX, and Windows systems, Statement.setQueryTimeout is supported only if Connection or DataSource property queryTimeoutInterruptProcessingMode is set to INTERRUPT_PROCESSING_MODE_STATEMENT_CANCEL.
For the IBM Data Server Driver for JDBC and SQLJ Version 4.0 and later, Statement.setQueryTimeout is supported for the following methods:
Statement.execute Statement.executeUpdate Statement.executeQuery
Statement.setQueryTimeout is supported for the Statement.executeBatch method only when property queryTimeoutInterruptProcessingMode is set to INTERRUPT_PROCESSING_MODE_CLOSE_SOCKET (2).
关于java - jdbc DB2 queryTimeout 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59931952/
我正在尝试使用 JDBC 向我的系统添加查询超时。我正在使用 statement.setQueryTimeout 函数来执行此操作。我知道这个值是在我使用 connection.createState
我遇到了运行缓慢的查询问题,有时需要超过 30 秒才能执行,因此我想增加我的 sqlsrv_query 超时。 Fatal error: Maximum execution time of 30 se
有谁知道如何将 Invoke-SqlCmd QueryTimeout 设置为大于 65535? Microsoft 表示他们已经在 Denali 中修复了它,但我们仍在使用带有最新服务包的 SQL 2
我们在 Db2 上面临查询超时属性的问题,当我们在 WebSphere 中运行应用程序时它正在工作,然后我们转移到 Tomcat,这个问题最近被一个很长的查询所困扰,该查询挂起很长时间,直到45 分钟
我正在使用带有 Ojdbc8 18.3.0.0.0 的 Spring Boot使用 Hikari 数据源和 JPA,所有查询都可以正常工作。但是现在我需要为所有数据库查询设置查询超时我尝试了很多方法:
我正在对我的 Ionic javascript 项目运行独立的 Sonar 分析。使用 sonarqube 插件 2.1 从 jenkins 触发扫描 mysql 数据库和 sonarqube 在同一
我是一名优秀的程序员,十分优秀!