0

发生异常时会出现以下错误myJDBCTemplate.queryForList(),在此之前setQueryTimeout(1)设置了 a。我有一个包含 120 万行的数据库,并在执行语句时寻找要打印或发生的超时异常。所以,基本上,超时发生了,但异常没有提到这一点。

我在 pom.xml 中使用 springFramework-version => 4.1.3.RELEASE

    INFO: org.springframework.beans.factory.xml.XMLBeanDefinitionReader - Loading XML bean definition for class path resource [org/springframework/jdbc/support/sql-error-code.xml]



    org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [select * from myTable where userCategory='1']; SQL state [70100]; error code [1317]; Query execution was interrupted; nested exception is java.sql.SQLException: Query execution was interrupted
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:471)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:481)
……..
caused by java.sql.SQLExcepion: Query execution was interrupted.

查询执行被中断,错误#1317状态中找到的答案,由于超时而发生中断,我认为这是可能的原因。

此外,异常声明它是由 java.sql.SQLException 引起的,但没有确切的细节,为什么会发生?所以,我不确定是因为超时还是其他原因。

4

1 回答 1

1

堆栈跟踪中的错误很明显:-

错误代码 [1317];查询执行被中断

,这意味着您的查询被执行时间限制中断。当您的查询需要很长时间才能执行时,就会发生此错误。

可以通过对某个数据范围重复执行查询来批量获取数据来解决该错误。

于 2015-08-23T17:09:53.807 回答