天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 2231|回复: 7

按钮状态报告异常

[复制链接]
lejuo 发表于 2011-4-25 10:06:11 | 显示全部楼层 |阅读模式
本帖最后由 shary 于 2011-5-3 14:19 编辑

平台从2.3升级到2.4后,我打开表单按钮的状态时,出现如下异常:
  1. 09:54:57,593 ERROR DispatcherUtils:245 - Could not execute action
  2. org.hibernate.exception.GenericJDBCException: could not execute query
  3.         at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
  4.         at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
  5.         at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
  6.         at org.hibernate.loader.Loader.doList(Loader.java:2214)
  7.         at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
  8.         at org.hibernate.loader.Loader.list(Loader.java:2090)
  9.         at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
  10.         at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
  11.         at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
  12.         at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
  13.         at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
  14.         at cn.myapps.base.dao.HibernateBaseDAO.getDatas(HibernateBaseDAO.java:239)
  15.         at cn.myapps.base.dao.HibernateBaseDAO.getDatas(HibernateBaseDAO.java:95)
  16.         at cn.myapps.core.workflow.statelabel.dao.HibernateStateLabelDAO.queryStates(HibernateStateLabelDAO.java:34)
  17.         at cn.myapps.core.workflow.statelabel.ejb.StateLabelProcessBean.doQueryState(StateLabelProcessBean.java:29)
  18.         at cn.myapps.core.workflow.statelabel.ejb.StateLabelProcessBean$$EnhancerByCGLIB$$c1c406aa.CGLIB$doQueryState$2(<generated>)
  19.         at cn.myapps.core.workflow.statelabel.ejb.StateLabelProcessBean$$EnhancerByCGLIB$$c1c406aa$$FastClassByCGLIB$$abe5eb1e.invoke(<generated>)
  20.         at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
  21.         at cn.myapps.util.ProcessFactory.intercept(ProcessFactory.java:138)
  22.         at cn.myapps.core.workflow.statelabel.ejb.StateLabelProcessBean$$EnhancerByCGLIB$$c1c406aa.doQueryState(<generated>)
  23.         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  24.         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  25.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  26.         at java.lang.reflect.Method.invoke(Method.java:589)
  27.         at com.jamonapi.proxy.MonProxy.invoke(MonProxy.java:110)
  28.         at $Proxy32.doQueryState(Unknown Source)
  29.         at cn.myapps.core.workflow.statelabel.action.StateLabelAction.doSelectState(StateLabelAction.java:49)
  30.         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  31.         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  32.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  33.         at java.lang.reflect.Method.invoke(Method.java:589)
  34.         at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:365)
  35.         at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:217)
  36.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:191)
  37.         at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:137)
  38.         at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
  39.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  40.         at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
  41.         at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
  42.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  43.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  44.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  45.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  46.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  47.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  48.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  49.         at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171)
  50.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  51.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  52.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  53.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  54.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  55.         at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
  56.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  57.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  58.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  59.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  60.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  61.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  62.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  63.         at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:100)
  64.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  65.         at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
  66.         at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:233)
  67.         at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:198)
  68.         at cn.myapps.base.web.filter.OBPMFilterDispatcher.doFilter(OBPMFilterDispatcher.java:43)
  69.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  70.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  71.         at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:78)
  72.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  73.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  74.         at cn.myapps.base.web.filter.AjaxMultiLanguageFilter.doFilter(AjaxMultiLanguageFilter.java:40)
  75.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  76.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  77.         at cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:30)
  78.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  79.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  80.         at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:125)
  81.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  82.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  83.         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  84.         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  85.         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  86.         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  87.         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  88.         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
  89.         at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)
  90.         at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)
  91.         at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
  92.         at java.lang.Thread.run(Thread.java:619)
  93. Caused by: java.sql.SQLException: 如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。
  94.         at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
  95.         at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
  96.         at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
  97.         at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
  98.         at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:477)
  99.         at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:777)
  100.         at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
  101.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  102.         at java.lang.reflect.Method.invoke(Method.java:589)
  103.         at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100)
  104.         at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57)
  105.         ... 86 more
  106. 09:54:57,593 ERROR OBPMFilterDispatcher:48 - URL: /vos2_4/core/dynaform/activity/statelist.action
  107. javax.servlet.ServletException: Could not execute action
  108.         at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:246)
  109.         at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:198)
  110.        
复制代码
请教一下这个如何修正?
 楼主| lejuo 发表于 2011-4-26 09:54:42 | 显示全部楼层
回复 2# cathy

已经做过升级了。运行的是cn.myapps.version.transfer.AllTransfer

没有对按钮做过什么修改的。
 楼主| lejuo 发表于 2011-4-26 10:12:49 | 显示全部楼层
回复 4# cathy


    有角色呀。登陆用户已经是被分配了角色了。这个按钮状态指什么意思呀?
 楼主| lejuo 发表于 2011-4-26 11:38:19 | 显示全部楼层
回复 6# cathy

查了一下平台源代码,应该是平台的事情。

报错信息如下:

  1. 11:08:20,031 ERROR JDBCExceptionReporter:78 - 如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。
  2. 11:08:20,031  WARN JDBCExceptionReporter:54 - SQL Warning: 145, SQLState: S1000
  3. 11:08:20,031  WARN JDBCExceptionReporter:55 - Preparing the statement failed: 如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。
  4. 11:08:20,031 ERROR DispatcherUtils:245 - Could not execute action
  5. org.hibernate.exception.GenericJDBCException: could not execute query
  6.         at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
  7.         at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
  8.         at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
  9.         at org.hibernate.loader.Loader.doList(Loader.java:2214)
  10.         at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
  11.         at org.hibernate.loader.Loader.list(Loader.java:2090)
  12.         at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
  13.         at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
  14.         at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
  15.         at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
  16.         at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
  17.         at cn.myapps.base.dao.HibernateBaseDAO.getDatas(HibernateBaseDAO.java:239)
  18.         at cn.myapps.base.dao.HibernateBaseDAO.getDatas(HibernateBaseDAO.java:95)
  19.         at cn.myapps.core.workflow.statelabel.dao.HibernateStateLabelDAO.queryStates(HibernateStateLabelDAO.java:34)
  20.         at cn.myapps.core.workflow.statelabel.ejb.StateLabelProcessBean.doQueryState(StateLabelProcessBean.java:29)
复制代码
再看看这句异常:        at cn.myapps.core.workflow.statelabel.dao.HibernateStateLabelDAO.queryStates(HibernateStateLabelDAO.java:34)
第34行的代码包括:

跟踪里面的hql的内容:
  1. select distinct vo.value from
  2. cn.myapps.core.workflow.statelabel.ejb.StateLabel vo where applicationid='11df-
  3. feb0-6688bb14-8521-99fd4ea7469e' order by orderNo
复制代码
将cn.myapps.core.workflow.statelabel.ejb.StateLabel 换成:T_STATELABEL后,sql语句变成:
  1. select distinct vo.value from
  2. T_STATELABEL vo where applicationid='11df-
  3. feb0-6688bb14-8521-99fd4ea7469e' order by orderNo
复制代码
在ms sql server的查询分析器里面确实执行不了这样一条语句呀?

请问怎么解决的?
直接修改cn.myapps.core.workflow.statelabel.dao.HibernateStateLabelDAO.queryStates的代码么?会不会产生其他问题?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| lejuo 发表于 2011-4-26 11:50:50 | 显示全部楼层
回复 6# cathy


   仔细查了一下,这个应该是一个bug吧?
2.3版本里面没有 “order by orderno”吧?

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 11:24

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表