« Volver a Custom Deployments

Tomcat with SQL Server 2008

Introduction #

This page provides the configuration settings to set up Apache Tomcat 6 with SQL Server 2008.

Configurations for JDBC Connection #

Set portal-ext.properties #

Location:

webapps\ROOT\WEB-INF\classes\portal-ext.properties

Content in portal-ext.properties:

# SQL Server
# jdbc.default.jndi.name=    
jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.default.url=jdbc:jtds:sqlserver://<machineName>/lportal
jdbc.default.username=<user>
jdbc.default.password=<password>

Setting jdbc.properties #

Location:

webapps\wol-portlet\WEB-INF\jdbc.properties

Relevant Content in jdbc.properties:

    #jira.driverClassName=org.hsqldb.jdbcDriver
    #jira.url=jdbc:hsqldb:mem:jira
    #jira.username=sa
    #jira.password=
    jira.driverClassName=net.sourceforge.jtds.jdbc.Driver
    jira.url=jdbc:jtds:sqlserver://<machineName>/lportal
    jira.username=<user>
    jira.password=<password>

Configurations for JNDI Connection #

Set portal-ext.properties #

Location:

webapps\ROOT\WEB-INF\classes\portal-ext.properties

Relevant Content in portal-ext.properties:

# SQL Server
jdbc.default.jndi.name=<jndiName>    
# jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver
# jdbc.default.url=jdbc:jtds:sqlserver://<machineName>/lportal
# jdbc.default.username=<user>
# jdbc.default.password=<password>

Note: For JNDI configuration you need just one line, the jndi name. The rest is configured through your application server - no need for db-name, driver, username and password in portal-ext.properties

Set ext-spring.xml #

Location:

webapps\wol-portlet\WEB-INF\src\META-INF\ext-spring.xml

Relevant Content in ext-spring.xml:

    <!--<bean id="jiraDataSourceTarget" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${jdbc.jira.driverClassName}" />
        <property name="url" value="${jdbc.jira.url}" />
        <property name="username" value="${jdbc.jira.username}" />
        <property name="password" value="${jdbc.jira.password}" />
    </bean>-->
    <bean id="jiraDataSourceTarget" class="com.liferay.portal.spring.jndi.JndiObjectFactoryBean" lazy-init="true">
        <property name="jndiName">                                     
            <value>jdbc/<your jndiName></value>
        </property> 
    </bean>

Configuration for both Connection Types #

jtds.jar #

In "bundles/common/lib/ext" make sure that the "jtds.jar" is present. If it is not there obtain it and put it there.

Database #

Check for the lportal database. If not such database is present then download "liferay-portal-sql-x.x.x.zip" and run the SQL script.

Troubleshooting #

  • Make sure SQL Server has TCP connections enabled
  • Try adding the port number to the jdbc.default.url
0 archivos adjuntos
67596 Accesos
Promedio (1 Votar)
La valoración media es de 4.0 estrellas de 5.
Comentarios
Respuestas anidadas Autor Fecha
The jdbc.default.jndi.name is not required and... Brent De Vela 22 de mayo de 2009 0:55
I tried setting this up with liferay 6.0.6. 1.... Luc Pannekoeke 19 de abril de 2011 8:42
Can we encrypt the password somehow? I've seen... Bill B 17 de septiembre de 2012 7:38
Yes, as discussed at... Bill B 17 de septiembre de 2012 9:34

The jdbc.default.jndi.name is not required and I used SQL Server Authentication mode because my Windows Authentication account did not work. Sample configuration below:

jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.default.­url=jdbc:jtds:sqlserver://MachineName/lportal
jdbc.default.username=sa
jdbc.defaul­t.password=Password
Publicado el día 22/05/09 0:55.
I tried setting this up with liferay 6.0.6.

1. there is no more wol-portlet
2. i get authentication failed.

I can log fine via the sql client but it doesnt work with liferay. my settings are :

jdbc.default.jndi.name=<jndiName> jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver jdbc.default.url=jdbc:jtds:sqlserver://<machineName>/Liferayjdbc.default.usernam­e=<domain>/<user>
jdbc.default.password=<password>

Does it matter if the authentication has to happen against Active Directory ?
Publicado el día 19/04/11 8:42 en respuesta a Brent De Vela.
Can we encrypt the password somehow? I've seen encrypted passwords for other applications with JDBC. It's hard to retreat to plain-text.
Publicado el día 17/09/12 7:38.
Yes, as discussed at http://www.liferay.com/community/forums/-/message_boards/message/4634583
Publicado el día 17/09/12 9:34 en respuesta a Bill B.