Thread: Why driver does not need to be registered?
Hi
I'm using postgresql-8.3-604.jdbc3.jar driver
I have a very simple java program to inspect what drivers are initially loaded:
import java.sql.DriverManager;
public class TestDrivers {
public static void main(String [] argv) {
java.util.Enumeration myDrivers = DriverManager.getDrivers();
while (misDrivers.hasMoreElements()){
System.out.println(misDrivers.nextElement());
}
}
}
I'm using postgresql-8.3-604.jdbc3.jar driver
I have a very simple java program to inspect what drivers are initially loaded:
import java.sql.DriverManager;
public class TestDrivers {
public static void main(String [] argv) {
java.util.Enumeration myDrivers = DriverManager.getDrivers();
while (misDrivers.hasMoreElements()){
System.out.println(misDrivers.nextElement());
}
}
}
On Thu, 26 Feb 2009, Jesus Maudes wrote: > [Why does the driver show up even though I didn't register it?] > The JDBC4 spec included with the 1.6 JVM includes autoloading functionality by including a special file in the driver's jar file. Section 9.2.1 of the JDBC4 spec says: The DriverManager.getConnection method has been enhanced to support the Java Standard Edition Service Provider mechanism. JDBC 4.0 Drivers must include the file META-INF/services/java.sql.Driver. This file contains the name of the JDBC driver's implementation of java.sql.Driver. So the JVM will scan the jars available and look for this special file and load the driver specified in it automatically. Kris Jurka