簡體   English   中英

WSO2 MySQL適配器語法錯誤

[英]WSO2 MySQL Adaptor Sytax Error

我正在嘗試在WSO2中為MySql創建事件格式化程序,但遇到了問題。 它似乎與“復合鍵列”的使用有關。 我得到的錯誤是:

錯誤-{MysqlEventAdaptorType}
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL語法有錯誤; 檢查與您的MySQL服務器版本相對應的手冊,以在第1行的'Window ='15'附近使用正確的語法

僅當我在格式化程序中使用兩個或多個鍵時,才會發生這種情況:

<eventFormatter name="GenericAccountSQLFormatter" statistics="enable"
  trace="enable" xmlns="http://wso2.org/carbon/eventformatter">
  <from streamName="GenericAccountMeasureStream" version="1.0.0"/>
  <mapping customMapping="disable" type="map"/>
  <to eventAdaptorName="APCSQLOut" eventAdaptorType="mysql">
    <property name="table.name">AccountStats</property>
    <property name="update.keys">AccountId,Window</property>
    <property name="execution.mode">insert-or-update</property>
  </to>
</eventFormatter>

刪除其中一個鍵(AccountId,Window),然后格式化程序會將數據發送到MySQL。

有人可以幫忙嗎?

這是一個錯誤,當現有事件通過組合鍵發送到MySQL適配器時會發生。 創建了一個jira來跟蹤此問題,並且在那里也提供了源補丁。

如果您不想創建/應用補丁程序,那么作為一種快速的解決方法-您可以通過連接兩個屬性並將其用作格式化程序中的密鑰,從CEP查詢中輸出復合密鑰。

UPDATE

現在,可以在此處jira中獲得帶有修復和構建說明的源補丁。 構建完成后,您需要將其作為補丁應用到CEP。 要將其應用為補丁,請在<CEP>/repository/components/patches創建一個名為patch0xyz的目錄(xyz是patch0135中的數字,也使xyz> 100),然后將jar放入其中。 然后,您需要將罐子重命名為org.wso2.carbon.event.output.adaptor.mysql_1.0.1.jar 然后重新啟動服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM