欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Howto: 如何让tomcat bundle liferay使用不同的数据库 博客分类: 定置 TomcatOracle脚本HSQLDBJDBC 

程序员文章站 2024-03-22 21:26:52
...

如果要使用不同的数据库,需要做好以下准备。
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类型。