Upgrading JDBC Drivers

I have had to help a few people with this recently, so I thought I’d consolidate the information here.

FactoryPMI connects to databases using what are called JDBC drivers. You can add new drivers and update existing drivers by logging into the FactoryPMI Gateway and going to the Datasources > Drivers section. JDBC drivers are distributed as *.jar files. To update an existing driver, simply edit the driver entry and upload your new jar file.

[ol]
[li]The MySQL JDBC driver that FactoryPMI currently ships with is pretty old. The new ones, however, aren’t very good. The sweet spot seems to be the 5.0.6 driver. I’ve been recommending this driver to people who are getting EOF exceptions. This helps some of them.
[ul][]You can download it here: downloads.mysql.com/archives/mys … -5.0.6.zip (8.3 mb)[/li]
[li]Extract that and find the file mysql-connector-java-5.0.6-bin.jar[/li]
[li]Edit your existing MySQL JDBC driver in the FactoryPMI Gateway and just upload this new .jar file on top of the old one. You’ll need to restart the FactoryPMI Gateway.[/li][/ul][/:m]
[li]We ship with a free, open source JDBC driver (called “jTDS”) to connect to Microsoft SQL Server. The newest versions of their official driver are really good, offering better performance than jTDS. I recommend users who are on SQL Server to download the official SQL Server driver and replace the JTDS driver.
[ul][
]You can download it here: microsoft.com/downloads/deta … laylang=en (3.5mb - first you have to agree to the license agreement)[/li]
[li]Once you extract it you will find 2 jar files. [del]Use sqljdbc.jar and add a new driver to FactoryPMI.[/del] EDIT: If your Gateway is running on Java 5, use sqljdbc.jar. If your Gateway is running on Java 6, use sqljdbc4.jar[/li]
[li]The URL format for this driver is:

jdbc:sqlserver://serverName\instanceName:portNumber

for the sql server connection upgrade I see the connection format has changed.

from

jdbc:jtds:sqlserver://host:1433/database

to

jdbc:sqlserver://serverName\instanceName:portNumber

My question is after I upload the jar and change the connection format string for the driver on the gateway do I then need to change each connection I have setup to use the new connection string format? How much downtime would you expect there to be given we have 9 connections.

Do a test first on your system to determine downtime - you can use another PMI system in demo mode. You can have multiple connections using several JDBC drivers, so you can replace the connections one at a time if that helps.

Yeah, you actually cannot change the driver of a connection directly. You’re going to have to create different connections in parallel, and then do a name-change swap by renaming the old ones and using their names for the new ones.

Also just to clarify the connection format didn’t change, per se. The first format you list is still the format for the jTDS driver, and the second format is for the official MS JDBC driver. Both can coexist side by side.

Here is the class name to use for MS SQL Server JDBC:

com.microsoft.sqlserver.jdbc.SQLServerDriver