给Roller默认数据库MySQL更换不同的数据库


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这句,很多情况下,必须有,具体原因,我还不明白:(如果有人知道的话,还望多多赐教!!

相关内容