DB2
Overview
DB2 is a commercial database from IBM. The DB2 database software is availble from IBM at:
http://www.ibm.com/software/data/db2/
Obtaining the Driver
Since the DB2 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.
As an alternative to this, you could set up a maven repository for use by multiple machines.
A JDBC DB2 driver is included in the DB2 software in the java subdirectory after DB2 installation has been performed. To install the JAR into your local maven repository, use the following command:
mvn install:install-file -DgroupId=com.ibm.db2 -DartifactId=db2-jdbc -Dversion=<version> -Dpackaging=jar -DgeneratePom=true -Dfile=db2java.zip.jar
The groupId, artifactId and version specified in this command are up to you, but they should match the JAR vendor, name and version to avoid confusion down the road.
JAR Configuration
Opening /uPortal/pom.xml, there is a section about 92 lines down that reads:
<!-- The JDBC Driver used by uPortal --> <jdbc.groupId>hsqldb</jdbc.groupId> <jdbc.artifactId>hsqldb</jdbc.artifactId> <jdbc.version>${hsqldb.version}</jdbc.version>
Modify this to use the DB2 driver, using the group, artifact and version information from the mvn install:install-file command above.
<!-- The JDBC Driver used by uPortal --> <jdbc.groupId>com.ibm.db2</jdbc.groupId> <jdbc.artifactId>db2-jdbc</jdbc.artifactId> <jdbc.version>version</jdbc.version>
JDBC Configuration
Edit /uPortal/uportal-impl/src/main/resources/properties/rdbm.properties by adding the following information for MSSQL, modifying the url, username and password as appropriate:
##### DB2 Server hibernate.connection.driver_class=COM.ibm.db2.jdbc.app.DB2Driver hibernate.connection.url=jdbc:db2:uPortal3Db hibernate.connection.username=test hibernate.connection.password=mypass hibernate.dialect=cirrus.hibernate.sql.DB2Dialect
Testing the Configuration
Running the dbtest
ant target will tell you if you have configured the database connection properly.
ant dbtest
Then, following a successful test, you can execute
ant initportal
to build the database tables and copy files to your servlet container.
Issues and Known Bugs
Some people have encountered problems with database drivers with certain web application environments if the classes zip file is used as-is with the .zip file extension. Simply renaming the file to a .jar file seems to fix the problem. Alternatively, unzipping the classes file into a directory structure, then using the jar command to repackage the classes into a jar file works as well.