This section details common issues that arise during the upgrade process as well as their solutions.
Due to licensing restrictions, Jive is unable to ship database drivers for all previously-supported databases. Namely, JDBC drivers for DB2 and MySQL are not included with the Jive SBS Platform package. The platform will attempt to install these drivers when you install the platform, but in some cases automated installation will not be possible. If the package cannot download the appropriate drivers, an error message will be printed to the console similar to “No suitable driver found for…”. For example, in the following example, the MySQL database driver is not found by the runtime system:
[1616][jive@targethost:~]$ ./bin/migration/bin/migration ./migration.properties java.sql.SQLException: No suitable driver found for >jdbc:mysql://soul:3306/csc252 at java.sql.DriverManager.getConnection(DriverManager.java:602) at java.sql.DriverManager.getConnection(DriverManager.java:185) at com.jivesoftware.migration.schema.DbUtil.getConnection(DbUtil.java:133) at com.jivesoftware.migration.etl.DbConfig.getInputConnection(DbConfig.java:161) at com.jivesoftware.migration.etl.DbConfig.getVersion(DbConfig.java:263) at com.jivesoftware.cli.Main.exportBlobs(Main.java:198) at com.jivesoftware.cli.Main.run(Main.java:100) at com.jivesoftware.cli.Main.main(Main.java:66) Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException at com.jivesoftware.cli.Main.main(Main.java:68) Caused by: java.lang.NullPointerException at com.jivesoftware.migration.etl.DbConfig.getVersion(DbConfig.java:273) at com.jivesoftware.cli.Main.exportBlobs(Main.java:198) at com.jivesoftware.cli.Main.run(Main.java:100) at com.jivesoftware.cli.Main.main(Main.java:66)
To resolve this issue, download the MySQL JDBC driver and place the JAR file for the driver in the jive user’s bin/migrate/lib directory. The following sequence demonstrates downloading the file and unpacking to the /usr/local/jive/bin/migration/lib directory of the target host.
[1632][jive@targethost:~]$ wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz/from/http://mysql.llarian.net/ --16:32:11-- http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz/from/http://mysql.llarian.net/ Resolving dev.mysql.com... 213.136.52.29 Connecting to dev.mysql.com|213.136.52.29|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://mysql.llarian.net/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz [following] --16:32:13-- http://mysql.llarian.net/Downloads/Connector-J/mysql-connector-java-5.1.7.tar.gz Resolving mysql.llarian.net... 209.221.142.116, 2001:5d8:11::14 Connecting to mysql.llarian.net|209.221.142.116|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 8640154 (8.2M) [application/x-gzip] Saving to: `mysql-connector-java-5.1.7.tar.gz' 100%[================================================================>] 8,640,154 5.11M/s in 1.6s 16:32:14 (5.11 MB/s) - `mysql-connector-java-5.1.7.tar.gz' saved [8640154/8640154] [1632][jive@targethost:~]$ tar zxf mysql-connector-java-5.1.7.tar.gz [1632][jive@targethost:~]$ mv mysql-connector-java-5.1.7/ build.xml docs/ README CHANGES EXCEPTIONS-CONNECTOR-J README.txt COPYING mysql-connector-java-5.1.7-bin.jar src/ [1632][jive@targethost:~]$ mv mysql-connector-java-5.1.7 bin/migration/lib/ mv: cannot move `mysql-connector-java-5.1.7' to `bin/migration/lib/mysql-connector-java-5.1.7': Permission denied [1632][jive@targethost:~]$ chmod 755 bin/migration/lib [1632][jive@targethost:~]$ mv mysql-connector-java-5.1.7 bin/migration/lib/ [1632][jive@targethost:~]$ ./bin/migration/bin/migration ./migration.properties
The preceding example downloads the MySQL JDBC driver and using the “tar” command uncompresses the file. The tar archive uncompresses to a directory which can be moved directly to the /usr/local/jive/bin/migration/lib directory.
Note that in the preceding example, it is necessary to change the permissions on the /usr/local/jive/bin/migration/lib directory to move the expanded tar.gz file to the lib directory. This directory is read-only by default on a managed host.