溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

為什么ksql中定義的本體在dataModel中不存在

發(fā)布時(shí)間:2021-11-26 09:36:17 來源:億速云 閱讀:139 作者:柒染 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)為什么ksql中定義的本體在dataModel中不存在,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

問題

  前幾天還是一切正常。昨天,因?yàn)樾枨蠓教岢隽诵碌男枨?,所以改?dòng)了MySQL中的幾個(gè)表格。主要的修改方式是,砍去幾欄,或者刪除幾欄,而保留原來的數(shù)據(jù);這一操作借助可視化MySQL工具可以輕松完成。但是,在今天的報(bào)表實(shí)例運(yùn)行時(shí)出現(xiàn)錯(cuò)誤“報(bào)表執(zhí)行錯(cuò)誤:報(bào)表數(shù)據(jù)獲取失敗”。

  順著由前往后調(diào)試的思路,首先打開前面.w報(bào)表文件,發(fā)現(xiàn)圖表組件數(shù)據(jù)源異常,如圖所示:

為什么ksql中定義的本體在dataModel中不存在

  于是,再往后檢查,跟蹤到BIZ端logic下的Action定義。我使用的是簡單的ksql創(chuàng)建的KSQL類型Action。接下來想仔細(xì)分析一下對應(yīng)的SQL語句,但是點(diǎn)擊ksql編輯器中ksql一行中的...符號想進(jìn)去時(shí)出現(xiàn)如題所示的警告錯(cuò)誤。請參考下圖:

為什么ksql中定義的本體在dataModel中不存在

解答

  意思再明確不過了,查看本體定義情況吧。于是,轉(zhuǎn)到antology子模塊下觀察。乍看是沒有問題的--其實(shí)真正存在問題。先到wex5論壇中搜索相關(guān)幫助,只找到一條,說是KSQL編輯器正常的錯(cuò)誤提示,再?zèng)]有其他進(jìn)展與解答。

  根據(jù)以往操作,肯定是在調(diào)整數(shù)據(jù)表結(jié)構(gòu)后再反向生成本體時(shí)出現(xiàn)的問題。于是,再次小心細(xì)致地把本體再反向生成一遍,并正常生成對應(yīng)的數(shù)據(jù)庫表。

  那么,接下來要?jiǎng)?chuàng)建ksql類型的ACTION了。問題正在于這里。此前,我是直接在eclipse中新建概念并填入關(guān)系,然后在運(yùn)行界面中輸入數(shù)據(jù)的。而現(xiàn)在,我是直接通過MYSQL后面修改的數(shù)據(jù)表結(jié)構(gòu),再來反向生成本體。這一步操作中,要特別注意的標(biāo)準(zhǔn)action操作過程的大小寫問題。因?yàn)楸举|(zhì)上這些ACTION對應(yīng)于后臺的一些JAVA函數(shù),而JAVA自然是區(qū)分大小寫的。

  接下來,就是檢查ksql表達(dá)式的問題。幸好,以前的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

  現(xiàn)在,點(diǎn)擊【測試】按鈕,運(yùn)行出現(xiàn)錯(cuò)誤!但是,沒有更細(xì)致的錯(cuò)誤提示(不像mysql可視化管理工具中那樣提示好定位)!

  在浪費(fèi)了不少時(shí)間后,我注意到概念的大小寫與我反向生成本體后概念的大小寫是不一致的(正確的形式是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

  現(xiàn)在點(diǎn)擊【測試】按鈕,運(yùn)行成功了!接下來,再到前面調(diào)整報(bào)表窗體中的圖表數(shù)據(jù)源形式便很容易了。

吃虧后的小結(jié)

根本原因是對于WeX5中提供的KSQL語法不熟,如下所描述的:這個(gè)KSQL語句中,竟然表格(即概念)名字是大小寫敏感的,而后面例如sum函數(shù)等根本不敏感!竟然因?yàn)樾⌒〉恼Z法問題浪費(fèi)了那么多時(shí)間。

以上就是為什么ksql中定義的本體在dataModel中不存在,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI