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

QQ登录

只需一步,快速开始

查看: 3959|回复: 2

[结贴] 报表执行错误:报表数据获取失败

[复制链接]

18

主题

67

帖子

124

积分

初级会员

Rank: 2

积分
124
QQ
发表于 2018-12-5 17:57:11 | 显示全部楼层 |阅读模式
版本: X5.2.7 小版本号:
数据库: Sybase 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: Chrome

Screenshot from 2018-12-05 17-53-57.png
报表提示这个报错信息, 以下是tomcat控制台报错信息:


at java.lang.Thread.run(Thread.java:595)
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出
错, KSQL: select TEST_APPLICATION_INFO,SAMPLE_DEVICE_HARDWARE_INFO.mODELNUMBER as
mODELNUMBER,SAMPLE_DEVICE_HARDWARE_INFO.mEMO as mEMO,SAMPLE_DEVICE_HARDWARE_INF
O.COMPONENT_NAME as COMPONENT_NAME,SAMPLE_DEVICE_HARDWARE_INFO.MANUFACTURER as M
ANUFACTURER,SAMPLE_DEVICE_HARDWARE_INFO.SPECIFICATIONS_MODELS as SPECIFICATIONS_
MODELS,SAMPLE_DEVICE_HARDWARE_INFO.FIRMWARE_REVISION_NUMBER as FIRMWARE_REVISION
_NUMBER,SAMPLE_DEVICE_HARDWARE_INFO.PRODUCTION_BATCH as PRODUCTION_BATCH,SAMPLE_
DEVICE_HARDWARE_INFO.LIFE_TIME as LIFE_TIME,SAMPLE_DEVICE_HARDWARE_INFO.TEST_DET
ECTION_JCLCJB_ID as TEST_DETECTION_JCLCJB_ID,SAMPLE_DEVICE_HARDWARE_INFO from TE
ST_APPLICATION_INFO TEST_APPLICATION_INFO  optional  join SAMPLE_DEVICE_HARDWARE
_INFO SAMPLE_DEVICE_HARDWARE_INFO on TEST_APPLICATION_INFO.TEST_DETECTION_JCLCJB
_ID = SAMPLE_DEVICE_HARDWARE_INFO.TEST_DETECTION_JCLCJB_ID where TEST_APPLICATIO
N_INFO in (:ids)
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.KSQL.select(Unknown Source)
        at System_code.queryDiffReportSlave(System_code.java:1663)
        ... 26 more
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150039; 提示: 执行sql:
(SELECT  TEST_APPLICATION_INFO.aPPLICATION_NO, SAMPLE_DEVICE_HARDWARE_INFO.MODEL
_NUMBER AS mODELNUMBER, SAMPLE_DEVICE_HARDWARE_INFO.MEMO AS mEMO, SAMPLE_DEVICE_
HARDWARE_INFO.COMPONENT_NAME AS COMPONENT_NAME, SAMPLE_DEVICE_HARDWARE_INFO.MANU
FACTURER AS MANUFACTURER, SAMPLE_DEVICE_HARDWARE_INFO.SPECIFICATIONS_MODELS AS S
PECIFICATIONS_MODELS, SAMPLE_DEVICE_HARDWARE_INFO.FIRMWARE_REVISION_NUMBER AS FI
RMWARE_REVISION_NUMBER, SAMPLE_DEVICE_HARDWARE_INFO.PRODUCTION_BATCH AS PRODUCTI
ON_BATCH, SAMPLE_DEVICE_HARDWARE_INFO.LIFE_TIME AS LIFE_TIME, SAMPLE_DEVICE_HARD
WARE_INFO.TEST_DETECTION_JCLCJB_ID AS TEST_DETECTION_JCLCJB_ID, SAMPLE_DEVICE_HA
RDWARE_INFO.fID FROM TEST_APPLICATION_INFO TEST_APPLICATION_INFO LEFT JOIN SAMPL
E_DEVICE_HARDWARE_INFO SAMPLE_DEVICE_HARDWARE_INFO ON TEST_APPLICATION_INFO.TEST
_DETECTION_JCLCJB_ID = SAMPLE_DEVICE_HARDWARE_INFO.TEST_DETECTION_JCLCJB_ID  WHE
RE  TEST_APPLICATION_INFO.aPPLICATION_NO IN ( ? ) ), binds: [112,114,117,115]出错
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.ksql.KSQLUtils.execSqlSelect(Unknown Source)
        ... 31 more
Caused by: java.sql.SQLException: Implicit conversion from datatype 'VARCHAR' to
'INT' is not allowed.  Use the CONVERT function to run this query.

        at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365
)
        at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
        at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
        at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:633)
        at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:4
18)
        at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedSta
tement.java:693)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(Delegat
ingPreparedStatement.java:96)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(Delegat
ingPreparedStatement.java:96)
        ... 32 more
[ERROR] 2018-12-05 17:51:13,993 com.justep.report.controller.DataController - 报表
数据获取失败
执行KSQL出错, KSQL: select TEST_APPLICATION_INFO,SAMPLE_DEVICE_HARDWARE_INFO.mODELNU
MBER as mODELNUMBER,SAMPLE_DEVICE_HARDWARE_INFO.mEMO as mEMO,SAMPLE_DEVICE_HARDW
ARE_INFO.COMPONENT_NAME as COMPONENT_NAME,SAMPLE_DEVICE_HARDWARE_INFO.MANUFACTUR
ER as MANUFACTURER,SAMPLE_DEVICE_HARDWARE_INFO.SPECIFICATIONS_MODELS as SPECIFIC
ATIONS_MODELS,SAMPLE_DEVICE_HARDWARE_INFO.FIRMWARE_REVISION_NUMBER as FIRMWARE_R
EVISION_NUMBER,SAMPLE_DEVICE_HARDWARE_INFO.PRODUCTION_BATCH as PRODUCTION_BATCH,
SAMPLE_DEVICE_HARDWARE_INFO.LIFE_TIME as LIFE_TIME,SAMPLE_DEVICE_HARDWARE_INFO.T
EST_DETECTION_JCLCJB_ID as TEST_DETECTION_JCLCJB_ID,SAMPLE_DEVICE_HARDWARE_INFO
from TEST_APPLICATION_INFO TEST_APPLICATION_INFO  optional  join SAMPLE_DEVICE_H
ARDWARE_INFO SAMPLE_DEVICE_HARDWARE_INFO on TEST_APPLICATION_INFO.TEST_DETECTION
_JCLCJB_ID = SAMPLE_DEVICE_HARDWARE_INFO.TEST_DETECTION_JCLCJB_ID where TEST_APP
LICATION_INFO in (:ids)
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:643)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127
)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103
)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:606)
        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: 执行KSQL出错, KSQL: se
lect TEST_APPLICATION_INFO,SAMPLE_DEVICE_HARDWARE_INFO.mODELNUMBER as mODELNUMBE
R,SAMPLE_DEVICE_HARDWARE_INFO.mEMO as mEMO,SAMPLE_DEVICE_HARDWARE_INFO.COMPONENT
_NAME as COMPONENT_NAME,SAMPLE_DEVICE_HARDWARE_INFO.MANUFACTURER as MANUFACTURER
,SAMPLE_DEVICE_HARDWARE_INFO.SPECIFICATIONS_MODELS as SPECIFICATIONS_MODELS,SAMP
LE_DEVICE_HARDWARE_INFO.FIRMWARE_REVISION_NUMBER as FIRMWARE_REVISION_NUMBER,SAM
PLE_DEVICE_HARDWARE_INFO.PRODUCTION_BATCH as PRODUCTION_BATCH,SAMPLE_DEVICE_HARD
WARE_INFO.LIFE_TIME as LIFE_TIME,SAMPLE_DEVICE_HARDWARE_INFO.TEST_DETECTION_JCLC
JB_ID as TEST_DETECTION_JCLCJB_ID,SAMPLE_DEVICE_HARDWARE_INFO from TEST_APPLICAT
ION_INFO TEST_APPLICATION_INFO  optional  join SAMPLE_DEVICE_HARDWARE_INFO SAMPL
E_DEVICE_HARDWARE_INFO on TEST_APPLICATION_INFO.TEST_DETECTION_JCLCJB_ID = SAMPL
E_DEVICE_HARDWARE_INFO.TEST_DETECTION_JCLCJB_ID where TEST_APPLICATION_INFO in (
:ids)
        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



以下是发送参数代码:
reportActivity.windowReceiverReceive = function(event){
        var str1 = event.source.sendData;
//        var str2 = str1.split(",");
//        for(i=0;i<str2.length;i++){
//         str2 = Number(str2);
//        }
        var masterdata = justep.xbl("PData");
//        masterdata.
        masterdata.setStringVar('ids',str1);
//        masterdata.refreshData();
//        justep.xbl('diffreport').refresh();
        var slavedata = justep.xbl("SData");
        slavedata.setStringVar('ids',str1);
//        slavedata.refreshData();
        justep.xbl('diffreport').refresh();
};


以下是Ksql代码:
select TEST_APPLICATION_INFO,TEST_APPLICATION_INFO.pRODUCTNAME as pRODUCTNAME,TEST_APPLICATION_INFO.pRODUCTSTYLE as pRODUCTSTYLE,TEST_APPLICATION_INFO.SOFTWARE_VERSION as SOFTWARE_VERSION,TEST_APPLICATION_INFO.PRODUCT_TYPE as PRODUCT_TYPE,TEST_APPLICATION_INFO.APP_DOC_NO as APP_DOC_NO,TEST_APPLICATION_INFO.DETECTION_PROJECT as DETECTION_PROJECT,TEST_APPLICATION_INFO.ASSIGNED_MANUFACTURE_NAME as ASSIGNED_MANUFACTURE_NAME,TEST_APPLICATION_INFO.PRODUCT_MANUFACTURE_NAME as PRODUCT_MANUFACTURE_NAME,TEST_APPLICATION_INFO.pROCESSUNIT as pROCESSUNIT,CHECK_RECORD.cHECKER as cHECKER,CHECK_RECORD.cHECKTIME as cHECKTIME,TEST_APPLICATION_INFO.SAMPLE_RETURN as SAMPLE_RETURN,TEST_APPLICATION_INFO.TEST_DETECTION_JCLCJB_ID as TEST_DETECTION_JCLCJB_ID
    from TEST_APPLICATION_INFO TEST_APPLICATION_INFO
     optional  join CHECK_RECORD CHECK_RECORD on TEST_APPLICATION_INFO.TEST_DETECTION_JCLCJB_ID = CHECK_RECORD.TEST_DETECTION_JCLCJB_ID
    where TEST_APPLICATION_INFO in (:ids)


91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35913
发表于 2018-12-6 08:42:10 | 显示全部楼层
java.sql.SQLException: Implicit conversion from datatype 'VARCHAR' to
'INT' is not allowed.  Use the CONVERT function to run this query.


这是sql语句的标准报错,到网上查找错误原因
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

18

主题

67

帖子

124

积分

初级会员

Rank: 2

积分
124
QQ
 楼主| 发表于 2018-12-6 09:08:43 | 显示全部楼层
问题已经解决,请结贴,
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 16:44 , Processed in 0.097183 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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