1、连接默认HSQLDB
<Resource
name="jdbc/LiferayPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:lportal"
username="sa"
password=""
maxActive="20"
/>
说明:当解压liferay-portal-tomcat-4.2.2.zip后,直接启动tomcat/bin/startup.bat后,即可以直接启动。
2、连接MySQL数据库
(1)解压liferay-portal-sql-4.2.2.zip文件后,进入create目录后,打开create-mysql.sql文件,选中文件中的SQL脚本通过工具MySQL Front将导入到MySQL数据库,相对应的数据库名为lportal。
(2)在数据库导入成功后,将MySQL的驱动mysql-connector-java-3.1.12-bin.jar文件复制到C:/tomcat/common/lib/ext这个目录下。
(3)修改C:/tomcat/conf/Catalina/localhost目录下的 ROOT.xml文件,指定连接到MySQL的驱动类名称、数据库URL及用户和密码,设置如下:
<Resource
name="jdbc/LiferayPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8"
username="root"
password="root"
maxActive="20"
/>
3、Liferay4.2.2连接SQLServer2005数据库
(1)解压liferay-portal-sql-4.2.2.zip文件后,进入create目录后,打开create-mysql.sql文件,选中文件中的SQL脚本通过工具SQL Server2005客户端将导入到SQL Server数据库,相对应的数据库名为lportal。
(2)在数据库导入成功后,将SQL Server的驱动文件jtds.jar复制到
C:/tomcat/common/lib/ext这个目录下。
(3)修改C:/tomcat/conf/Catalina/localhost目录下的 ROOT.xml文件,指定连接到SQL Server2005的驱动类名称、数据库URL及用户和密码,设置如下:
<Resource
name="jdbc/LiferayPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost:1433/lportal"
username="sa"
password="sasa"
maxActive="20"
/>
或:
<Resource
name="jdbc/LiferayPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost:1433;databasename=lportal"
username="sa"
password="sasa"
maxActive="20"
/>
(4)进入SQL Server 2005的SQL Server Configuration Manager,进入到MSSQLSERVER的协议,查看TCP/IP是否启动,由于SQLSERVER2005走TCT/IP协议,请将其启动,后重新启动SQLServer2005的服务器,否则会出现连接错误。
4、Liferay4.2.2连接Oracle10g数据库
(1)启动Oracle数据库,创建表空间,创建用户名:liferay,密码:liferay,同时为用户指定角色为管理员。
(2)下载liferay-portal-sql-oracle-10-4.2.2.dmp文件,导入到Oracle数据库中。
在运行->输入command ->进行命令控制台。
运行命令:imp liferay/liferay@orcl file=d:/liferay.dmp full=y 回车
将数据库导入。
(3)将数据库导入成功后,将Oracle10g的驱动包ojdbc14.jar、orai18n.jar两个文件复制到C:/tomcat/common/lib/ext目录下。
(4)修改C:/tomcat/conf/Catalina/localhost目录下的 ROOT.xml文件,指定连接到Oracle10g的驱动类名称、数据库URL及用户和密码,设置如下:
<Resource
name="jdbc/LiferayPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:workflow"
username="liferay"
password="liferay"
maxActive="100"
maxIdle="30"
maxWait="10000"
/>
说明:启动Tomcat时,由于Liferay4.2.2版本的一些BUG,需要对Liferay里的一些配置进行修改:
liferay 4.2.1在oralce上运行时,clob字段总会抛出 ORA-01461 错误。
解决此问题的方法:
(1)在Oracle的数据库中查询出当前用户的所有表结构中字段类型为CLOB的字段:
select table_name,column_name,data_type from all_tab_columns where owner='LIFERAY'and data_type='CLOB' order by table_name asc;
查询结果如下:
序号 表名 列名
-------------------------------------------------------
1、 BLOGSENTRY CONTENT
2、 CALEVENT RECURRENCE
3、 COMPANY KEY_
4、 DLFILEENTRY EXTRASETTINGS
5、 IMAGE TEXT_
6、 JOURNALARTICLE CONTENT
7、 JOURNALSTRUCTURE XSD
8、 JOURNALTEMPLATE XSL
9、 LAYOUT TYPESETTINGS
10、MBMESSAGE BODY
11、PORTLETPREFERENCES PREFERENCES
12、WIKIPAGE CONTENT
-------------------------------------------------------
(2)在portal-ejb.jar包查找META-INF/portal-hbm.xml, 将所有clob字段的配置类型修改为org.springframework.orm.hibernate3.support.ClobStringType(原来为com.liferay.util.dao.hibernate.StringType)。
(3)修改counter-ejb.jar包里面的counter-spring-professional.xml文件,添加如下内容:
<bean id="lobHandler" lazy-init="true" class="org.springframework.jdbc.support.lob.OracleLobHandler">
<property name="nativeJdbcExtractor">
<ref bean="nativeJdbcExtractor"/>
</property>
</bean>
<bean id="nativeJdbcExtractor" lazy-init="true" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"/>
(4)删除原来的配置liferaySessionFactory节点:
<bean id="liferaySessionFactory" class="com.liferay.portal.spring.hibernate.HibernateConfiguration" lazy-init="true">
<property name="dataSource">
<ref bean="liferayDataSource" />
</property>
</bean>
添加新的配置:
<bean id="liferaySessionFactory" class="com.liferay.portal.spring.hibernate.HibernateConfiguration" lazy-init="true">
<property name="lobHandler" ref="lobHandler"/>
<property name="dataSource">
<ref bean="liferayDataSource" />
</property>
</bean>
刘羽
2010-6-24