Hallo!
Ich möchte in einer Datenbank-unabhängigen Anwendung den DB-Treiber erst zur Laufzeit nachladen.
Beim folgenden Test-Code
steigt das Programm mit einer SQLException aus:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/dbname
Wie berichtige ich den Code?
Viele Grüße
Egon Schmid
Ich möchte in einer Datenbank-unabhängigen Anwendung den DB-Treiber erst zur Laufzeit nachladen.
Beim folgenden Test-Code
Code:
package loadsqldriveratruntime; import java.net.URL; import java.sql.Connection; import java.sql.DriverManager; import java.util.logging.Level; import java.util.logging.Logger; public class Main { public static void main(String[] args) { String jarPath = "file:///home/egon/lib/mysql-connector-java-3.1.14-bin.jar"; try { java.net.URL p = new URL(jarPath); java.net.URLClassLoader loader = new java.net.URLClassLoader(new URL[]{p}, ClassLoader.getSystemClassLoader()); String driverName = "com.mysql.jdbc.Driver"; Class c = loader.loadClass(driverName); Class.forName(driverName, true, loader).newInstance(); Connection cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname", "username", "password"); } catch (Exception ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } } }
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/dbname
Wie berichtige ich den Code?
Viele Grüße
Egon Schmid
Comment