起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1368|回复: 4

[结贴] 关于sqlQueryProcedure的问题,紧急求助!

[复制链接]

19

主题

57

帖子

85

积分

初级会员

Rank: 2

积分
85
发表于 2013-3-28 15:11:31 | 显示全部楼层 |阅读模式
我定义了一个acition,采用的是sqlQueryProcedure,SQL语句如下:
select RE_A1.FNO as FNO,RE_A1.VERSION as VERSION,RE_A1.FNAME as FNAME,RE_A1.FCOMPANY as FCOMPANY,RE_A1.FPLACE as FPLACE,RE_A1.SBU as SBU,RE_B2.FCODE as FCODE,RE_B2.VERSION as VERSION1,RE_B2.FSTU as FSTU,RE_B2.FFACTORY as FFACTORY,RE_B2.FBIRTH as FBIRTH,RE_B2.SBU as SBU1,comparename(RE_A1.FNAME, RE_B2.FSTU) as CompareName,comparecompany(RE_A1.FCOMPANY, RE_B2.FFACTORY) as CompareCompany,compareplace(RE_A1.FPLACE, RE_B2.FBIRTH) as ComparePlace,compareresult(RE_A1.FNAME, RE_B2.FSTU, RE_A1.FCOMPANY, RE_B2.FFACTORY, RE_A1.FPLACE, RE_B2.FBIRTH) as CompareResult
    from RE_A1 left outer
     join RE_B2  on RE_A1.FNO= RE_B2.FCODE

我在action编辑器中输入了该SQL,如下图所示:
1.jpg
之后我在.w文件的设计向导用空白页来生成报表表格,数据集引用该action
2.jpg
之后运行该报表报错:
[ERROR] 2013-03-28 15:00:59,299 com.justep.report.controller.DataController - 报表数据获取失败
/x5demo/basedemo/process/compareaction/compareaction定义中不存在参数[variables]
com.justep.report.exception.ReportServerException: 报表数据获取失败
at com.justep.report.controller.DataController.execute(Unknown Source)
at com.justep.report.controller.GenericControllerChain.execute(Unknown Source)
at com.justep.report.controller.InitController.execute(Unknown Source)
at com.justep.report.controller.GenericControllerChain.execute(Unknown Source)
at com.justep.report.Servlet.a(Unknown Source)
at com.justep.report.Servlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.justep.report.exception.ReportServerException: /x5demo/basedemo/process/compareaction/compareaction定义中不存在参数[variables]
at com.justep.report.controller.DataController.a(Unknown Source)
at com.justep.report.controller.DataController.a(Unknown Source)
... 20 more
Caused by: java.lang.Exception
... 22 more
请问如何在action里用SQL?好像你们的开发工具只能有KSQL?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35938
发表于 2013-3-28 15:15:05 | 显示全部楼层
如果是直接写sql可以参考/BIZ/demo/report/logic/action/simpleReportAction.action.m中action的实现,对应的UI下参考/UI/demo/report/process/simple
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

19

主题

57

帖子

85

积分

初级会员

Rank: 2

积分
85
 楼主| 发表于 2013-3-28 15:56:26 | 显示全部楼层
jishuang 发表于 2013-3-28 15:15
如果是直接写sql可以参考/BIZ/demo/report/logic/action/simpleReportAction.action.m中action的实现,对应 ...

我参照例子自己生成了action,还是报错
Caused by: com.justep.report.exception.ReportServerException: /x5demo/basedemo/process/resultaction/resultaction定义中不存在参数[variables]

action代码如下:

public static Table resultaction(){
  String oracle ="select RE_A1.FNO as FNO,RE_A1.VERSION as VERSION,RE_A1.FNAME as FNAME,RE_A1.FCOMPANY as FCOMPANY,RE_A1.FPLACE as FPLACE,RE_A1.SBU as SBU,RE_B2.FCODE as FCODE,RE_B2.VERSION as VERSION1,RE_B2.FSTU as FSTU,RE_B2.FFACTORY as FFACTORY,RE_B2.FBIRTH as FBIRTH,RE_B2.SBU as SBU1,comparename(RE_A1.FNAME, RE_B2.FSTU) as CompareName,comparecompany(RE_A1.FCOMPANY, RE_B2.FFACTORY) as CompareCompany,compareplace(RE_A1.FPLACE, RE_B2.FBIRTH) as ComparePlace,compareresult(RE_A1.FNAME, RE_B2.FSTU, RE_A1.FCOMPANY, RE_B2.FFACTORY, RE_A1.FPLACE, RE_B2.FBIRTH) as CompareResult from RE_A1 left outer join RE_B2  on RE_A1.FNO= RE_B2.FCODE";
  HashMap<String,String> sqlMap = new HashMap<String,String>();
  sqlMap.put(SQL.DEFAULT_DB_NAME,oracle);
  return SQL.select(sqlMap,null,"/x5demo/basedemo/data");
}
3.jpg
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35938
发表于 2013-3-28 15:59:43 | 显示全部楼层
reportData怎么定义的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

19

主题

57

帖子

85

积分

初级会员

Rank: 2

积分
85
 楼主| 发表于 2013-3-28 16:57:59 | 显示全部楼层
jishuang 发表于 2013-3-28 15:59
reportData怎么定义的?

我定义成了KSQLACTION,找到原因了,要么直接在原有的ACTION添加variable参数,就不报错了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-12 03:53 , Processed in 0.070769 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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