Caros, tenho o seguinte problema:
O usuário me fornece o caminho para um arquivo JAR, contendo o driver JDBC a ser usado para se conectar ao banco de dados. O sistema deve carregar esse JAR (class loading) e então se conectar ao banco.
A parte de class loading acho que está ok, porém o driver não está sendo registrado no DriverManager.
Eu fiz o seguinte:
File jarFile = new File(jarFilePathname);
URL jarUrl = jarFile.toURL();
ClassLoader cl = URLClassLoader.newInstance(new URL[] { jarUrl }, this.getClass().getClassLoader());
Driver driver = (Driver) cl.loadClass( driverName ).newInstance();
DriverManager.registerDriver( driver );
conn = DriverManager.getConnection( "url", "user", "pass" );
Porém recebo a seguinte exceção:
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at softech.javalee.db.DatabaseConnectionManager.getConnection(DatabaseConnectionManager.java:36)
Creio que isso seja problema da hierarquia dos class loaders. Alguém tem alguma idéia de como contornar isso e eu conseguir criar uma conexão com o BD numa boa?
Valeu