ofbiz9框架 + oracle 11g整合開發

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

  1. <datasource name="localoracle"  
  2.        helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"  
  3.        schema-name="ofbiz" 你的數據庫schema名稱   
  4.        field-type-name="oracle"  
  5.        check-on-start="true"  
  6.        add-missing-on-start="true"  
  7.        alias-view-columns="false"  
  8.        join-style="ansi">  
  9.    <read-data reader-name="seed"/>  
  10.    <read-data reader-name="seed-initial"/>  
  11.    <read-data reader-name="demo"/>  
  12.    <read-data reader-name="ext"/>  
  13.    <inline-jdbc  
  14.            jdbc-driver="oracle.jdbc.driver.OracleDriver"  
  15.            jdbc-uri="jdbc:oracle:thin:@192.168.1.154:1521:ofbiz"  ofbiz爲你的數據庫SID   
  16.            jdbc-username="ofbiz"  用戶名   
  17.            jdbc-password="ofbiz"  密碼   
  18.            pool-minsize="2"  
  19.            pool-maxsize="250"/>  
  20. /datasource>  

  b. 修改實體引擎的數據庫缺省配置以下:(將datasource-name的值設置爲「localoracle」)數據庫

  1.   <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">  
  2.     <group-map group-name="org.ofbiz" datasource-name="localoracle"/>  
  3.     <group-map group-name="org.ofbiz.olap" datasource-name="localoracle"/>  
  4. delegator>  
  5. <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">  
  6.     <group-map group-name="org.ofbiz" datasource-name="localoracle"/>  
  7.     <group-map group-name="org.ofbiz.olap" datasource-name="localoracle"/>  
  8. delegator>  
  9.   
  10.   
  11. <delegator name="test" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">  
  12.     <group-map group-name="org.ofbiz" datasource-name="localoracle"/>  
  13.     <group-map group-name="org.ofbiz.olap" datasource-name="localoracle"/>  
  14. delegator>  
  15. <delegator name="other" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">  
  16.     <group-map group-name="org.ofbiz" datasource-name="localoracle"/>  
  17. delegator>  

3.補充:在進行以上配置時,請確保你已經存在ofbiz的數據庫,實例,用戶等都已建立好。

4. 初始化數據和導入:   
     ofbiz$ java -jar ofbiz.jar -install
經過以上命令便可進行數據庫的初始化和初始數據的導入,這裏包括了ofbiz自帶的例子,應用的全部的數據表和初始化數據

5.問題:
在使用oracle數據庫時,當前的版本可能會碰到ORA-01843:無效的月份的問題      服務器

    以sys用戶登錄並建立Trigger:session

  1. create or replace TRIGGER ON_CONNECT AFTER LOGON ON DATABASE  
  2.  DECLARE  
  3.  guser varchar2(30);   
  4.  begin    
  5.   SELECT sys_context('USERENV','SESSION_USER'into guser FROM dual;   
  6.      if (guser='ofbiz' or guser='OFBIZ'THEN  
  7.         EXECUTE IMMEDIATE 'alter session set nls_timestamp_format = ''YYYY-MM-DD HH24:MI:SS.FF''';   
  8.      end if;   
  9.  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應用程序的組件和工具。包括實體引擎,   服務引擎,   消息引擎,   工做流引擎,   規則引擎等。

相關文章
相關標籤/搜索