NutzCN Logo
问答 java.lang.IllegalArgumentException:expr.OracleIntervalType.minute
发布于 2890天前 作者 herexu 1925 次浏览 复制 上一个帖子 下一个帖子
标签:

这个是SQL,select s.id id from send_sms s where s.add_ip='127.0.0.1' and to_char(s.create_time,'yyyy-mm-dd hh24:mi:ss')>to_char(sysdate -interval '10' minute,'yyyy-mm-dd hh24:mi:ss')

Sql execute(Sql sql); 报错

java.lang.IllegalArgumentException: No enum constant com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleIntervalType.minute
at java.lang.Enum.valueOf(Enum.java:236)
	at com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleIntervalType.valueOf(OracleIntervalType.java:18)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser.parseInterval(OracleExprParser.java:920)
	at com.alibaba.druid.sql.parser.SQLExprParser.primary(SQLExprParser.java:534)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser.primary(OracleExprParser.java:485)
	at com.alibaba.druid.sql.parser.SQLExprParser.bitXor(SQLExprParser.java:147)
	at com.alibaba.druid.sql.parser.SQLExprParser.multiplicative(SQLExprParser.java:163)
	at com.alibaba.druid.sql.parser.SQLExprParser.additiveRest(SQLExprParser.java:1172)
	at com.alibaba.druid.sql.parser.SQLExprParser.exprRest(SQLExprParser.java:133)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser.exprRest(OracleExprParser.java:1115)
	at com.alibaba.druid.sql.parser.SQLExprParser.expr(SQLExprParser.java:127)
	at com.alibaba.druid.sql.parser.SQLExprParser.exprList(SQLExprParser.java:818)
	at com.alibaba.druid.sql.parser.SQLExprParser.methodRest(SQLExprParser.java:711)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser.methodRest(OracleExprParser.java:526)
	at com.alibaba.druid.sql.parser.SQLExprParser.primaryRest(SQLExprParser.java:679)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser.primaryRest(OracleExprParser.java:688)
	at com.alibaba.druid.sql.parser.SQLExprParser.primary(SQLExprParser.java:570)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser.primary(OracleExprParser.java:485)
	at com.alibaba.druid.sql.parser.SQLExprParser.bitXor(SQLExprParser.java:147)
	at com.alibaba.druid.sql.parser.SQLExprParser.multiplicative(SQLExprParser.java:163)
	at com.alibaba.druid.sql.parser.SQLExprParser.additive(SQLExprParser.java:1154)
	at com.alibaba.druid.sql.parser.SQLExprParser.shift(SQLExprParser.java:1182)
	at com.alibaba.druid.sql.parser.SQLExprParser.bitAnd(SQLExprParser.java:1060)
	at com.alibaba.druid.sql.parser.SQLExprParser.bitOr(SQLExprParser.java:1074)
	at com.alibaba.druid.sql.parser.SQLExprParser.relationalRest(SQLExprParser.java:1298)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser.relationalRest(OracleExprParser.java:985)
	at com.alibaba.druid.sql.parser.SQLExprParser.relational(SQLExprParser.java:1258)
	at com.alibaba.druid.sql.parser.SQLExprParser.andRest(SQLExprParser.java:1218)
	at com.alibaba.druid.sql.parser.SQLExprParser.exprRest(SQLExprParser.java:140)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser.exprRest(OracleExprParser.java:1115)
	at com.alibaba.druid.sql.parser.SQLExprParser.expr(SQLExprParser.java:127)
	at com.alibaba.druid.sql.parser.SQLSelectParser.expr(SQLSelectParser.java:461)
	at com.alibaba.druid.sql.parser.SQLSelectParser.parseWhere(SQLSelectParser.java:245)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleSelectParser.query(OracleSelectParser.java:274)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleSelectParser.select(OracleSelectParser.java:88)
	at com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser.parseStatementList(OracleStatementParser.java:163)
	at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:145)
	at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:140)
	at com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils.parameterize(ParameterizedOutputVisitorUtils.java:53)
	at com.alibaba.druid.filter.stat.StatFilter.mergeSql(StatFilter.java:145)
	at com.alibaba.druid.filter.stat.StatFilter.createSqlStat(StatFilter.java:630)
	at com.alibaba.druid.filter.stat.StatFilter.internalBeforeStatementExecute(StatFilter.java:397)
	at com.alibaba.druid.filter.stat.StatFilter.statementExecuteQueryBefore(StatFilter.java:335)
	at com.alibaba.druid.filter.FilterEventAdapter.statement_executeQuery(FilterEventAdapter.java:299)
	at com.alibaba.druid.filter.FilterChainImpl.statement_executeQuery(FilterChainImpl.java:2360)
	at com.alibaba.druid.proxy.jdbc.StatementProxyImpl.executeQuery(StatementProxyImpl.java:211)
	at com.alibaba.druid.pool.DruidPooledStatement.executeQuery(DruidPooledStatement.java:143)
	at org.nutz.dao.impl.sql.run.NutDaoExecutor._runSelect(NutDaoExecutor.java:246)
	at org.nutz.dao.impl.sql.run.NutDaoExecutor.exec(NutDaoExecutor.java:53)
	at org.nutz.dao.DaoInterceptorChain.doChain(DaoInterceptorChain.java:66)
	at org.nutz.dao.impl.interceptor.DaoLogInterceptor.filter(DaoLogInterceptor.java:22)
	at org.nutz.dao.DaoInterceptorChain.doChain(DaoInterceptorChain.java:64)
	at org.nutz.dao.DaoInterceptorChain.invoke(DaoInterceptorChain.java:139)
	at org.nutz.dao.impl.sql.run.NutDaoRunner.runCallback(NutDaoRunner.java:147)
	at org.nutz.dao.impl.sql.run.NutDaoRunner._runWithoutTransaction(NutDaoRunner.java:114)
	at org.nutz.dao.impl.sql.run.NutDaoRunner._run(NutDaoRunner.java:81)
	at org.nutz.dao.impl.sql.run.NutDaoRunner.run(NutDaoRunner.java:70)
	at org.nutz.dao.impl.DaoSupport.run(DaoSupport.java:239)
	at org.nutz.dao.impl.DaoSupport._exec(DaoSupport.java:247)
	at org.nutz.dao.impl.DaoSupport.execute(DaoSupport.java:235)
	at org.nutz.dao.impl.NutDao.execute(NutDao.java:977)
	at com.jyjf.common.bs.CommonDBService.getByList(CommonDBService.java:449)
	at com.jyjf.common.bs.SendSMSService.exceeSendTimesIP(SendSMSService.java:359)
	at com.jyjf.common.bs.SendSMSService.fitSMS(SendSMSService.java:153)
	at com.jyjf.common.bs.SendSMSService.sendSMS(SendSMSService.java:82)
	at com.jyjf.common.module.user.RegModule.regSendPhoneCode(RegModule.java:166)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:25)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
	at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
	at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
	at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:198)
	at com.jyjf.common.filter.QTUserFilter.doFilter(QTUserFilter.java:151)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.jyjf.common.filter.XssFilter.doFilter(XssFilter.java:22)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
4 回复

恩,druid的bug, 把minute改成MINUTE试试

看了一下druid 1.0.27的代码, OracleExprParser附近改动了, 要不升级一下版本?

多谢兽总,等我发了年终,一定上来打赏

暂时先不升级哈,过完年回来升级

添加回复
请先登陆
回到顶部