Checking your JDBC Driver Version

by Pete Freitag

Macromedia recently updated their JDBC driver technote, but I wasn't sure if I already had the 3.3 driver installed (since they may have just updated the text in the technote). So I wrote some code to check what version of the jdbc driver my server was running, and sure enough I needed to update it:

<cfset jdbcDriver = CreateObject("java", "macromedia.jdbc.sqlserver.SQLServerDriver")>
<cfoutput>
#jdbcDriver.getMajorVersion()#.#jdbcDriver.getMinorVersion()#
</cfoutput>

After you install the 3.3 drivers, the result of this code should be "3.3", if it says otherwise, you can update your drivers.

The Fixinator Code Security Scanner for ColdFusion & CFML is an easy to use security tool that every CF developer can use. It can also easily integrate into CI for automatic scanning on every commit.

Comments

Pete Freitag

FYI I''m using the java.sql.Driver interface, all jdbc drivers implement this interface.

Mario Ciliotta

How would I be able to get the version of the Oracle Drivers I am using.

Pete Freitag

The Macromedia Oracle Driver class name is macromedia.jdbc.oracle.OracleDriver just replace that as the second argument of the createObject function. But since the oracle driver is contained in the macromedia_drivers.jar file along with SQL Server, and other drivers you should get the same results. You can replace the class name with any JDBC driver class name, and run this code.

Mirza H Ahmed

hi, i cant fix it. i have oracle server in a different ip address and i am using mx. i cant figure out the jdbc url, what is driver class, driver name?

Dinesh Pandey

public static void displayDbProperties(Connection con){ java.sql.DatabaseMetaData dm = null; java.sql.ResultSet rs = null; try{ if(con!=null){ dm = con.getMetaData(); System.out.println("\nDriver Information"); System.out.println("\tDriver Name: "+ dm.getDriverName()); System.out.println("\tDriver Version: "+ dm.getDriverVersion ()); System.out.println("\nDatabase Information "); System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName()); System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion()); System.out.println("\tMaximum Connection (If zero--> no limit): "+dm.getMaxConnections()); System.out.println("\tNumeric Functions: "+dm.getNumericFunctions()); System.out.println("Avalilable Catalogs "); rs = dm.getCatalogs(); while(rs.next()){ System.out.println("\tcatalog: "+ rs.getString(1)); } rs.close(); rs = null; }else System.out.println("Error: No active Connection"); }catch(Exception e){ e.printStackTrace(); } dm=null; } }

Shyloh Jacobs

Thank you for this post! I am sad that I missed the vote although I find this as useful as openemr! Keep up the good work, I am going to refer a few friends to this site I think they could benefit from it. http://www.mmfemr.com

Shyloh Jacobs

Thank you for this post! I am sad that I missed the vote although I find this as useful as openemr! Keep up the good work, I am going to refer a few friends to this site I think they could benefit from it.