ofbiz9框架 + oracle 11g整合開發html
轉自 http://ajava.org/course/open/14640.htmljava
轉自 http://job6688.spaces.live.com/blog/cns!FA3F6195E8CF95F7!236.entrymysql
核心提示:ofbiz默認的數據庫爲derby,這個固然不能在生產環境中使用,並且也不方便調試和管理。雖然ofbiz也支持不少的開源數據庫,例如 mysql等,可是咱們這裏仍是使用主流的數據庫系統oracle 11g.詳細的操做以下 1.更新JDBC驅動,將oracle最新的jdbc驅動copy到${ofbizweb
ofbiz默認的數據庫爲derby,這個固然不能在生產環境中使用,並且也不方便調試和管理。雖然ofbiz也支持不少的開源數據庫,例如mysql等,可是咱們這裏仍是使用主流的數據庫系統oracle 11g.詳細的操做以下
1.更新JDBC驅動,將oracle最新的jdbc驅動copy到${ofbiz install dir}/framework/entity/lib/jdbc 目錄下。
2.設置實體引擎( Entity Engine)的缺省數據庫爲oracle.在修改 ${ofbiz install dir}/framework/entity/config/entityengine.xml文件中修改配置:
a.修改數據庫鏈接參數:sql
- <datasource name="localoracle"
- helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
- schema-name="ofbiz" 你的數據庫schema名稱
- field-type-name="oracle"
- check-on-start="true"
- add-missing-on-start="true"
- alias-view-columns="false"
- join-style="ansi">
- <read-data reader-name="seed"/>
- <read-data reader-name="seed-initial"/>
- <read-data reader-name="demo"/>
- <read-data reader-name="ext"/>
- <inline-jdbc
- jdbc-driver="oracle.jdbc.driver.OracleDriver"
- jdbc-uri="jdbc:oracle:thin:@192.168.1.154:1521:ofbiz" ofbiz爲你的數據庫SID
- jdbc-username="ofbiz" 用戶名
- jdbc-password="ofbiz" 密碼
- pool-minsize="2"
- pool-maxsize="250"/>
- /datasource>
b. 修改實體引擎的數據庫缺省配置以下:(將datasource-name的值設置爲「localoracle」)數據庫
- <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">
- <group-map group-name="org.ofbiz" datasource-name="localoracle"/>
- <group-map group-name="org.ofbiz.olap" datasource-name="localoracle"/>
- delegator>
- <delegator name="default-no-eca" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" entity-eca-enabled="false" distributed-cache-clear-enabled="false">
- <group-map group-name="org.ofbiz" datasource-name="localoracle"/>
- <group-map group-name="org.ofbiz.olap" datasource-name="localoracle"/>
- delegator>
-
-
- <delegator name="test" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">
- <group-map group-name="org.ofbiz" datasource-name="localoracle"/>
- <group-map group-name="org.ofbiz.olap" datasource-name="localoracle"/>
- delegator>
- <delegator name="other" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">
- <group-map group-name="org.ofbiz" datasource-name="localoracle"/>
- delegator>
3.補充:在進行以上配置時,請確保你已經存在ofbiz的數據庫,實例,用戶等都已建立好。
4. 初始化數據和導入:
ofbiz$ java -jar ofbiz.jar -install
經過以上命令便可進行數據庫的初始化和初始數據的導入,這裏包括了ofbiz自帶的例子,應用的全部的數據表和初始化數據
5.問題:
在使用oracle數據庫時,當前的版本可能會碰到ORA-01843:無效的月份的問題 服務器
以sys用戶登錄並建立Trigger:session
- create or replace TRIGGER ON_CONNECT AFTER LOGON ON DATABASE
- DECLARE
- guser varchar2(30);
- begin
- SELECT sys_context('USERENV','SESSION_USER') into guser FROM dual;
- if (guser='ofbiz' or guser='OFBIZ') THEN
- EXECUTE IMMEDIATE 'alter session set nls_timestamp_format = ''YYYY-MM-DD HH24:MI:SS.FF''';
- end if;
- end;
注意對登錄用戶名的判斷必須大小寫都要考慮.oracle
另:ofbiz用戶不能擁有dba的權限,同時ofbiz用戶比須要有UNLIMITED TABLESPACE的權限,不然在建立數據表的時候會報「數據庫空間不足」的錯誤,致使沒法建立表。
6.參考:
http://blog.csdn.net/blieveme/archive/2007/10/16/1826604.aspx
http://docs.ofbiz.org/display/~jacopoc/OFBiz+and+Oracle框架
ajava.org補充:OFBiz是一個很是著名的開源項目,提供了建立基於最新J2EE/XML規範和技術標準,構建大中型企業級、跨平臺、跨數據庫、跨應用服務器的多層、分佈式電子商務類WEB應用系統的框架。 OFBiz最主要的特色是OFBiz提供了一整套的開發基於Java的web應用程序的組件和工具。包括實體引擎, 服務引擎, 消息引擎, 工做流引擎, 規則引擎等。