Troubleshooting Upgrades from 3.0 and Higher

Driver Not Found Errors

Because of licensing restrictions, Jive cannot ship database drivers for all previously-supported databases. Specifically, the JDBC drivers for DB2 and MySQL are not included with the Jive 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…”. The following code example shows the response when the runtime system fails to find the MySQL database driver :

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. Note that 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.

[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