论坛首页 入门技术论坛

Howto: 如何让tomcat bundle liferay使用不同的数据库

浏览 4034 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-21  

如果要使用不同的数据库,需要做好以下准备。
1. 设置好dbms系统,并且有方便的数据库客户端供使用
2. 找到适当的jdbc驱动
3. 下载liferay的数据库脚本
(http://prdownloads.sourceforge.net/lportal/liferay-portal-sql-4.1.3.zip?download)

将压缩文件解压后会看到三个主要的目录:create,portal和index
create 目录中的脚本会在dbms中自动创建新的schema(有的叫database),这种自动创建的schema会被命名为lportal。如果数据库中有同名的,那么就会被drop。随后脚本创建liferay所需的table,并且插入初始化数据

portal目录中的脚本只会创建table,不会自动创建schema。

以上两类脚本只会在数据库中创建pk,不会创建一般索引。一般索引使用index目录中脚本创建。

数据库创建后通过dbms客户端设置账户、访问权限后

修改liferay所在${tomcathome}\conf\Catalina\localhost ROOT.xml
<resource></resource>

xml 代码
  1. <Resource  
  2.         name="jdbc/LiferayPool"  
  3.         auth="Container"  
  4.         type="javax.sql.DataSource"  
  5.         driverClassName="org.hsqldb.jdbcDriver"  
  6.         url="jdbc:hsqldb:test"  
  7.         username="sa"  
  8.         password=""  
  9.         maxActive="20"  
  10.     />  

修改driverClassName,url,username,passwd
重启liferay,查看页面是否正常

注。在当前版本(4.1.3)中,请不要直接使用oracle 9以下驱动。因为oracle clob字段会被查询为null。oracle 10以上驱动可以“比较正确”查询出clob字段为String,但有时候会被死锁在一个查询上。

另一个解决办法是将oracle数据库中的clob字段转为vchar类型。

   发表时间:2007-03-24  
如果业务系统的表和lportal混在一起,每次备份时候怎样只导出liferay的insert脚本?混在一起虽然不好,但是不用担心事务问题,不希望使用 JTA.
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics