问题

  前几天还是一切正常。昨天,因为需求方提出了新的需求,所以改动了MySQL中的几个表格。主要的修改方式是,砍去几栏,或者删除几栏,而保留原来的数据;这一操作借助可视化MySQL工具可以轻松完成。但是,在今天的报表实例运行时出现错误“报表执行错误:报表数据获取失败”。

  顺着由前往后调试的思路,首先打开前面.w报表文件,发现图表组件数据源异常,如图所示:

  于是,再往后检查,跟踪到BIZ端logic下的Action定义。我使用的是简单的ksql创建的KSQL类型Action。接下来想仔细分析一下对应的SQL语句,但是点击ksql编辑器中ksql一行中的...符号想进去时出现如题所示的警告错误。请参考下图:

解答

  意思再明确不过了,查看本体定义情况吧。于是,转到antology子模块下观察。乍看是没有问题的--其实真正存在问题。先到wex5论坛中搜索相关帮助,只找到一条,说是KSQL编辑器正常的错误提示,再没有其他进展与解答。

  根据以往操作,肯定是在调整数据表结构后再反向生成本体时出现的问题。于是,再次小心细致地把本体再反向生成一遍,并正常生成对应的数据库表。

  那么,接下来要创建ksql类型的ACTION了。问题正在于这里。此前,我是直接在eclipse中新建概念并填入关系,然后在运行界面中输入数据的。而现在,我是直接通过MYSQL后面修改的数据表结构,再来反向生成本体。这一步操作中,要特别注意的标准action操作过程的大小写问题。因为本质上这些ACTION对应于后台的一些JAVA函数,而JAVA自然是区分大小写的。

  接下来,就是检查ksql表达式的问题。幸好,以前的ksql还存在。我把它记录下来,如下:

select Mo_TradeDetail.fTradeNatureClass as fTradeNatureClass,Mo_TradeDetail.fTradeNature as fTradeNature,count(Mo_TradeDetail.fTradeNature) as fTradeNatureCount,sum(Mo_TradeDetail.fTotal) as fTotalCount,sum(Mo_TradeDetail.fFine) as fFineCountfrom Mo_TradeDetailMo_tradedetailgroup by Mo_TradeDetail.fTradeNature

  现在,点击【测试】按钮,运行出现错误!但是,没有更细致的错误提示(不像mysql可视化管理工具中那样提示好定位)!

  在浪费了不少时间后,我注意到概念的大小写与我反向生成本体后概念的大小写是不一致的(正确的形式是Mo_tradedetail)。于是,我尝试着把大小写修改过来,如下:

select Mo_tradedetail.fTradeNatureClass as fTradeNatureClass,Mo_tradedetail.fTradeNature as fTradeNature,count(Mo_tradedetail.fTradeNature) as fTradeNatureCount,sum(Mo_tradedetail.fTotal) as fTotalCount,sum(Mo_tradedetail.fFine) as fFineCountfrom Mo_tradedetail Mo_tradedetailgroup by Mo_tradedetail.fTradeNature

  现在点击【测试】按钮,运行成功了!接下来,再到前面调整报表窗体中的图表数据源形式便很容易了。

吃亏后的小结

  根本原因是对于WeX5中提供的KSQL语法不熟,如下所描述的:这个KSQL语句中,竟然表格(即概念)名字是大小写敏感的,而后面例如sum函数等根本不敏感!竟然因为小小的语法问题浪费了那么多时间。唉,无怪乎网络上称呼程序员为“程序猿”,虽然听起来有些刺耳,但是的确有一定的道理。

ksql中定义的本体在dataModel中不存在相关推荐

  1. python中定义函数常用关键字_Python 中定义函数的关键字是 _________________ 。_学小易找答案...

    [其它]实验4-串和数组-实验任务书.docx [填空题]表达式 'abc' in ['abcdefg'] 的值为______________. [填空题]已知 x = range(1,4) 和 y ...

  2. div中定义局部变量_说说 Go 中的变量(附粗制滥造面试题)

    和其他语言没有区别,Go 中的数据也是两种表示方式,常量和变量,本文先说说变量吧. 为了增加文章的趣味性(多掉些头发),搜集了一些常见的面试题.部分是自己瞎编的,顺便为自己明年可能到来的面试做些准备. ...

  3. wordpress functions.php 在哪,在functions.php中定义变量并在WordPress中的函数钩子中访问它们...

    我想更详细地了解Wordpress结构.正如我所知,使用全局关键字并不是一个好主意. 这是我想要完成的: Inside functions.php $affID = '12334'; //defini ...

  4. error:lnk2005 已经在*.obj中定义_如何在 Spring 中自定义 scope

    大家对于 Spring 的 scope 应该都不会默认.所谓 scope,字面理解就是"作用域"."范围",如果一个 bean 的 scope 配置为 sing ...

  5. python中定义元组的符号_python中得元组和字符串详解,有这么一篇文章就够了

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:咸鱼学Python ( 想要学习Python?Pyth ...

  6. python中定义无符号整数_在python中如何将有符号整数转换为无符号整数

    要获得与C类型转换相等的值,只需按位并使用适当的掩码.e. g.如果unsigned long是32位:>>> i = -6884376 >>> i & 0 ...

  7. python中定义变量和数组_Python中的线程和全局变量 - 数组和标准变量之间的区别?...

    我目前尝试使用线程编写一个更大的python程序,并遇到了数组不必被声明为全局的问题.Python中的线程和全局变量 - 数组和标准变量之间的区别? import numpy as np import ...

  8. Ogre shader中定义 param_named_auto custom, 材质中纹理操作

    转载自: https://www.cnblogs.com/flytrace/archive/2012/05/14/2499733.html ogre 扩展模型描绘轮廓及实现自阴影明暗 Posted o ...

  9. 【Groovy】闭包 Closure ( 闭包类 Closure 简介 | this、owner、delegate 成员区别 | 静态闭包变量 | 闭包中定义闭包 )

    文章目录 总结 一.静态闭包变量 1.执行普通闭包变量 2.执行静态闭包变量 二. 在闭包中定义闭包 三. 完整代码示例 总结 在闭包中 , 打印 this , owner , delegate , ...

最新文章

  1. java获取jsp页面参数_jsp页面中获取servlet请求中的参数方法总结
  2. Android应用程序组件Content Provider的启动过程源代码分析(6)
  3. React Native获取设备信息组件
  4. 高级PHP工程师所应该具备的专业素养
  5. 爬虫实战学习笔记_3 网络请求urllib模块:设置IP代理+处理请求异常+解析URL+解码+编码+组合URL+URL连接
  6. Lisp-Stat翻译 —— 第九章 统计绘图窗体
  7. 数据 3 分钟 | 国产数据库迎来 2 名开源玩家、数据库厂商年度报告都说了些什么?...
  8. Ubuntu 19.10“Eoan Ermine”正式发布
  9. linux firewalld
  10. Ubuntu 硬盘”分区“图文教程(用于光盘,U盘安装Ubuntu)
  11. RDMA的原理、传输与Verbs
  12. 计算机考研里的【计算机系统结构、计算机软件与理论、计算机应用技术】都是什么意思?如何选择?...
  13. html5背景图片幻灯片切换,如何将一个PPT的背景设置成另一个PPT的背景?
  14. 基于单片机的超声波测距仪的设计
  15. CSS实现最简洁的加载动画
  16. JavaScript中ubound函数
  17. 淘宝网触屏版 - 学习笔记(1 - 关于meta)
  18. 现代漫威联名钢铁侠车型开售 售价21.55万元起
  19. 7 Python文件与数据格式化
  20. 计算机专业英语期末考试b卷,天津农学院期末考试试卷计算机专业英语(4份,有答案)...

热门文章

  1. 课程导入导出中的知识点操作
  2. Sql Server系列:数据库操作
  3. 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(2)
  4. F5内网大二层负载均衡业务访问故障解析(CISCO OTV+LISP-MTU问题导致)
  5. Asp.net MVC验证那些事(4)-- 自定义验证特性
  6. 借力大数据 物流迈向智能化
  7. 常用排序算法 - 稳定性和复杂度分析
  8. 工作中一些代码优化的地方
  9. Linux下配置SSL (转)
  10. HOWTO: InstallShield中通过修改注册表关闭Vista/Windows 7的UAC