# Treiber nachladen oder nach Bedarf



## fisch (6. Sep 2005)

Hi

ich würde gerne in meinem program verschiedene Datenbanken unterstützen, d.h. der Nutzer wählt die Datenbank aus z.B. Oracle und ich lade dann den Treiber dazu. Der Benutzer soll aber auch andere Datenbanken verwenden können oder halt später die Treiber aktualisieren können, so dass ich die Jar nachladen muss. Allerdings habe ich ja hier im Forum schon gelesen dass das nicht möglich ist. 
Hat da jemand einen Vorschlag für mich wie man das realisieren könnte? Bin für alles dankbar.


----------



## Grizzly (7. Sep 2005)

Die JAR Datei, die den Treiber enthält, musst Du auf jedem Fall schon beim Start der Java VM angeben.

Ich würde es an Deiner Stelle vielleicht so machen, dass der Benutzer den Treiber bzw. die JAR Datei auswählen kann. Das Programm kopiert dann die JAR Datei in ein Unterverzeichnis und schreibt sie in die Start Batch Datei hinein (oder Du machst das ganze über eine alternative ausführbare Datei wie bspw. bei Eclipse). Dann startest Du die Anwendung neu (vorher am Besten noch den Benutzer fragen). Schon kann der Benutzer den Treiber nutzen.


----------



## fisch (8. Sep 2005)

Danke erstmal, versteh es aber noch nicht so ganz. Die Jar muss dann aber irgendwann schon mal von mir zu dem Programm eingebunden wurden sein oder?  Es geht dann nicht das einer einen neuen Treiber aus dem Internet holt und ihn durch einen Dialog zum Programm hinzufügt. Könntest du das nochmal ein bißchen näher erklären, raffs grade nicht  :cry:


----------



## Bleiglanz (8. Sep 2005)

am einfachsten ist es, wenn du dir einen eigenen Classloader schreibst, den du anstatt Class.ForName verwendest, um den "nur dynamsich bekannten" Datenbanktreiber zu laden

ist leider nicht ganz einfach


----------



## fisch (8. Sep 2005)

na ich glaub dann beschränke ich mich momentan erstmal auf oracle und mysql. Vielleicht habe ich ja am Ende noch zeit übrig


----------

