jBPM4.4 no jBPM DB schema: no JBPM4_EXECUTION table. Run the create.jbpm.schema target first in the install tool.


開始鑽研工作流的東西,第一顆釘子,筆記之:

錯誤信息:

jBPM4.4 no jBPM DB schema: no JBPM4_EXECUTION table.   Run the create.jbpm.schema target first in the install tool.

分析:

JBPM初始化建立表格時create語句錯誤,如下:

create table JBPM4_DEPLOYMENT (

  DBID_ bigint not null,

  NAME_ longtext,

  TIMESTAMP_ bigint,

  STATE_ varchar(255),

  primary key (DBID_)

) type=InnoDB

關鍵在於這個創建表格的語句在Navicat Lite中執行該條SQL語句也同樣報錯,type=InnoDB不符合語法,我的mysql版本是5.5的,

經"度娘"之后發現,MySQL 4.0開始不建議使用type=InnoDB,建議使用Engine=InnoDB,而MySQL 5.5只能用Engine=InnoDB

解決方案:

      首先普及一下jbpm4.4創建默認表格的方法是有兩種方法的,第一種是通過ant命令在dos窗口建立(用的是jbpm-4.4/install/src/db/create/jbpm.mysql.create.sql的sql語句創建的);另一種是通過代碼,運行java代碼,自動創建的(這種則是在你配好java項目之后利用項目里的默認配置來創建默認表格的)。

關鍵是兩種方法所用到的文件是不同的,認清這點這個很重要。

 好了接下來咱說解決方案:

方案1.修改jbpm-4.4/install/src/db/create/jbpm.mysql.create.sql中的腳本:

  將其中的type=InnoDB改為Engine=InnoDB

這種方法適用於用ant命令創建表格的方式,這也是為什么我之前用這種方法之后在java代碼中創建表格不成功的原因了

方案2.安裝MySQL Server 5.1

(第二種方法比較徹底,讀者推薦)

這是網上的兄弟的方法,自己試了試,還是換了mysql的版本,選擇了后者,前者吧不大好掌握,我試了試不好使,建表語句沒有改變,還是后者來得痛快.........

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM