PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Oracel JDBC zur Programmlaufzeit nachladen



tomcom
14-02-2008, 12:48
Hallo,

ich möchte gerne in meinem Javaprogramm den Oracel Treiber nachladen, und zwar zur Programmlaufzeit.

Der Benutzer sieht einen Dialog, in dem er den Pfad zur Datei ojdbc14.jar eingeben muss, sowie die Url, Benutzername und Passwort.

Der Pfad zur ojdbc14.jar ist also als String verfügbar. Die ojdbc14.jar leigt aber nicht im Classpath.
Wie kann ich "DriverManager.registerDriver(new OracleDriver());" ausführen. (So dass Leuten, denen ich das PRogramm gebe später nur meine JAR-Dateiu ausführen müssen und sich werder mit classpath und ko auskennen müssen.)


Gruß Thomas

tomcom
14-02-2008, 16:11
Problem gelöst:


public static java.sql.Driver sqlDriverloader(String path, String classname) throws Exception {
URL url = new File(path).toURI().toURL();

URLClassLoader cl = new URLClassLoader(new URL[] { url });

Class<?> c = cl.loadClass(classname);

java.sql.Driver result = null;
Object o = c.newInstance();
if (o instanceof java.sql.Driver) {
result = (java.sql.Driver) o;
}

return result;
}