为什么ksql中定义的本体在dataModel中不存在-创新互联

本篇文章给大家分享的是有关为什么ksql中定义的本体在dataModel中不存在,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

昌邑ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

问题

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

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

为什么ksql中定义的本体在dataModel中不存在

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


为什么ksql中定义的本体在dataModel中不存在

解答

意思再明确不过了,查看本体定义情况吧。于是,转到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 fFineCount
    from Mo_TradeDetailMo_tradedetail
    group 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 fFineCount
    from Mo_tradedetail Mo_tradedetail
    group by Mo_tradedetail.fTradeNature

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

吃亏后的小结

根本原因是对于WeX5中提供的KSQL语法不熟,如下所描述的:这个KSQL语句中,竟然表格(即概念)名字是大小写敏感的,而后面例如sum函数等根本不敏感!竟然因为小小的语法问题浪费了那么多时间。

以上就是为什么ksql中定义的本体在dataModel中不存在,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:为什么ksql中定义的本体在dataModel中不存在-创新互联
文章出自:http://azwzsj.com/article/dohsoi.html