Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15177870
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 数据库开发技术

2008-05-28 09:12:56

 前两天项目组在oracle数据库上部署Liferay4.1.2,却怎么也调不通。后来我过去支持了一把,发现主要出在两个问题上:
(1)驱动使用的不对
(2)hibernate dialect未配置

        Liferay在oracle9i上部署并不是很复杂,但需要使用oracle10g的驱动去访问oralce9i的数据库.这在liferay开发手册上已经说得很明白(http://content.liferay.com/4.0.0/docs/developers/ch02s02.html):
    You must use the Oracle 10g driver located in classes12.jar whether or not you are using Oracle 9 or Oracle 10.

       在配置连接池的时候,没有什么太在意的地方,只是Liferay可能推荐采用其 liferay jdbc driver包,其实没有必要.liferay那个jdbc driver包不是真正的驱动,只是做了一些索引,能自动根据url来判断采用具体那个数据库驱动.所以没有必要采用.

    在连接池,我们可以如下配置(使用Tomcat5.5):

    <Resource
        
name="jdbc/LiferayPool"
        auth
="Container"
        type
="javax.sql.DataSource"
        driverClassName
="oracle.jdbc.driver.OracleDriver"
        url
="jdbc:oracle:thin:@10.64.3.119:1521:ACL"
        username
="lportal"
        password
="lportal"
        maxActive
="100"
        maxIdle
="30"
        maxWait
="1000"
    
/>

         但是光这样还是不行的,应为Liferay professional版底层采用了Hibernate,所以还需要设置Hibernate Dialect。这是在portal-ext.properties中配置。否则

        hibernate.dialect=org.hibernate.dialect.Oracle9Dialect

阅读(370) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~