Roller缺省的數據庫是MySQL,很多時候,都是把集成Roller到已有的web系統上,而原來的web系統用的數據庫不是MySQL。所以,在集成Roller的時候,就不得不更換數據庫。
Roller的安裝手冊中并沒有很詳細的介紹如何更換不同的數據庫。不過,熟悉J2EE的人,載結合Roller的安裝手冊,基本可以看得出,只要修改兩個文件,即可為Roller更換數據庫。
-
如,要把Roller改為使用Oracle8i數據庫,只要這樣做即可:
1、修改hibernate.cfg.xml中hibernate的數據庫本地化參數:
也就是把原來的
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
改為
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
2、修改Roller.xml文件中有關數據庫的配置:
修改后的Roller.xml大致如下:
<Context path="/roller" docBase="D:/mywork/java/Roller" debug="0">
<Resource name="jdbc/rollerdb" auth="Container"
type="javax.sql.DataSource"
driverClassName="Oracle.jdbc.driver.OracleDriver"
url="jdbc:Oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=rollerdb)(SRVR=DEDICATED)))"
username="roller"
password="roller123"
maxActive="20"
maxIdle="3"
removeAbandoned="true"
maxWait="3000" />
<!-- If you want e-mail features, un-comment the section below -->
<!--
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
mail.smtp.host="mailhost.example.com" />
-->
</Context>
其實,主要的修改,就是驅動和訪問數據庫的url。
可能是Oracle數據庫本身配置的原因,url的配置與其他數據庫的格式不太一樣。尤其是SRVR=DEDICATED這句,很多情況下,必須有,具體原因,我還不明白:(如果有人知道的話,還望多多賜教!!
本文出自:億恩科技【www.laynepeng.cn】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|