No, you shouldn't call DriverManager.registerDriver explicitly. The Class.forName should allow the DRiver to register itself when it loads.
If you are using an older API, you might try Class.forName(...).newInstance();
There was a bug in these versions where static blocks didn't get called until an instance is created.
From the
Java JDBC FAQ:
9. What causes the "No suitable driver" error?
"No suitable driver" is an error that usually occurs during a call to the DriverManager.getConnection method. The cause can be failing to load the appropriate JDBC drivers before calling the getConnection method, or it can be specifying an invalid JDBC URL--one that isn't recognized by your JDBC driver. Your best bet is to check the documentation for your JDBC driver or contact your JDBC driver vendor if you suspect that the URL you are specifying is not being recognized by your JDBC driver.
In addition, when you are using the JDBC-ODBC Bridge, this error can occur if one or more the the shared libraries needed by the Bridge cannot be loaded. If you think this is the cause, check your configuration to be sure that the shared libraries are accessible to the Bridge.
I believe the 'COM.ibm' package is also correct. Frustratingly, IBM tend to wander between the two.