MS SQL Server and MS JDBC Driver

Step 1: Obtain the MS JDBC driver 

Since the MS SQL Server JDBC driver is not available in the central Maven repository, it must be placed into the local repository of each machine on which you wish to build uPortal.

Option: Local Maven caching repository

As an alternative to this, you could set up a maven repository for use by multiple machines.
  • Download MS JDBC driver directly from Microsift, here: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
  • Follow the installation instructions, noting where the driver JAR file is located
  • Note the location of the driver JAR file and the version
  • Install the driver into the local Maven repository

    Install MS SQL Server driver
    mvn install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=<version> -Dpackaging=jar -DgeneratePom=true -Dfile=<driver JAR file>
  • Again, note the groupId, artifactId and version. These will be used in Step 3.

Step 2: Configure the Database Filter

  • From the uPortal source directory, open the uPortal-4.x.x/filters/local.properties file and add your database information
## HSQL Configuration

environment.build.hsql.port=8887

## Database Connection Settings (Uncomment the Maven Filters section in rdbm.properties)
environment.build.hibernate.connection.driver_class=com.microsoft.sqlserver.jdbc.SQLServerDriver
environment.build.hibernate.connection.url=jdbc:sqlserver://<servername>:<port>;databaseName=<databasename>
environment.build.hibernate.connection.username=username
environment.build.hibernate.connection.password=password
environment.build.hibernate.dialect=org.hibernate.dialect.SQLServerDialect

 

Step 3: Add the database driver

  1. NEW: Open uportal-db/pom.xml file, uncomment the MSSQL sqljdbc driver below and modify as needed 

  2. Add the appropriate version properties to the root pom.xml file or enter the appropriate version below
uportal-db/pom.xml
... 
<dependencies>
        <!-- Add any db drivers that are applicable to *any* of your environments -->
	    <dependency>
	        <groupId>org.hsqldb</groupId>
	        <artifactId>hsqldb</artifactId>
	        <version>${hsqldb.version}</version>
	        <scope>compile</scope>
	    </dependency>
        <!--
         | The following db drivers should be uncommented and/or modified as needed for server 
         | deployments.  (Add all thaat are needed.)  Don't forget to add appropriate  .version 
         | properties to the root pom.xml, or simply enter the appropriate version below.
         +-->
	  <!--
	    <dependency>
            <groupId>postgresql</groupId>
	        <artifactId>postgresql</artifactId>
	        <version>${postgres.version}</version>
	        <scope>compile</scope>
	    </dependency>
 	    <dependency>
	        <groupId>com.ibm.db2</groupId>
	        <artifactId>db2-jdbc</artifactId>
	        <version>${db2.version}</version>
	        <scope>compile</scope>
	    </dependency>
	  -->
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>sqljdbc4</artifactId>
            <version>${mssql.version}</version>
        </dependency>
 
	  <!--
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6_g</artifactId>
            <version>${oracle.version}</version>
        </dependency>
        <dependency>
            <groupId>org.sybase</groupId>
            <artifactId>sybase-jconnect</artifactId>
            <version>${sybase.version}</version>
        </dependency>
	    -->
    </dependencies>


Step 4: Test the Configuration

Running the dbtest ant target will tell you if you have configured the database connection properly.

ant dbtest

 

Step 5: Build and Deploy 

Following a successful test, you can execute the command below to build the database tables and copy files to your servlet container. 

Note: Executing the command "ant clean initportal" will drop and recreate the database tables and all existing data will be lost. This will result in a clean uPortal database structure. If you want to keep the contents of your existing database, use "ant clean deploy-war"

ant clean initportal

Step 6: Restart Tomcat

 

 

Additional References

 

Having problems with these instructions?

Please send us feedback at uportal-user@lists.ja-sig.org