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

    技术2022-05-11  70

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

    xml 代码 <Resource           name="jdbc/LiferayPool"           auth="Container"           type="javax.sql.DataSource"           driverClassName="org.hsqldb.jdbcDriver"           url="jdbc:hsqldb:test"           username="sa"           password=""           maxActive="20"       />  

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

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

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


    最新回复(0)