2016-10-01 7 views
2

Ich habe ein kleines Spiel entwickelt, in dem der vom Benutzer eingegebene Text in eine MS Access Datenbank geschrieben werden muss."Kein passender Treiber gefunden" beim Ausführen von JAR

Alles funktioniert gut in NetBeans, aber jedes Mal, wenn ich aus der JAR-Datei darauf zugreife (was ich letztendlich an meinen Client weitergeben muss), wird nichts in die Datenbank geschrieben. In der Tat gibt es die folgenden Fehler:

java.sql.SQLException: No suitable driver found for jdbc:ucanaccess://C:\Users\Paul\Desktop\Spelli\RispostiDB.mdb 

Dies ist der entsprechende Code:

public void postAnsDB() 
    { 
     String tableName = "Form"+studentGroup +"_"+studentSurname+"_"+studentName+""; 

     answerModifier(); 

     try{ 

       String strurl="jdbc:ucanaccess://C:\\Users\\Paul\\Desktop\\Spelli\\RispostiDB.mdb"; 
       Connection conn=DriverManager.getConnection(strurl, "", ""); 
       Statement stmt=conn.createStatement(); 

       //Post Student Details to DB 

       String post = "INSERT INTO "+tableName+"(ID, responses, Correct_Response, Valid_Invalid, Marks) VALUES ('"+ansID+"', '"+answer+"', '"+correct+"', '"+valid+"', '"+marks+"');"; 

       stmt.executeUpdate(post); 
      } 
     catch(Exception e) 
     { 
      System.out.println("Exception found in postAnsDB: "+e); 
     } 
    } 
+2

Wenn Sie Ihr Projekt in NetBeans erstellen, erstellt es einen Ordner 'dist' im Home-Ordner Ihres Projekts, legt die JAR-Datei für Ihren Code in diesem Ordner ab und legt die Abhängigkeiten (JAR-Dateien für erforderliche Komponenten wie UCanAccess, Jackcess, HSQLDB und Apache Commons-Bits) in einen Unterordner namens 'lib'. Sie müssen sicherstellen, dass der Ordner "lib" auf den Zielrechner kopiert und in den gleichen Ordner wie Ihre Haupt-JAR-Datei gestellt wird. Sehen Sie [hier] (https://netbeans.org/kb/articles/javase-deploy.html) für Details. –

+0

DANKE! Zusätzlich zu Ihren Vorschlägen habe ich auch alle Jar-Dateien in NetBeans unter Bibliotheken hinzugefügt. Mein Programm ist jetzt voll funktionsfähig, also vielen Dank !! –

Antwort

0

Wenn Sie Ihr Projekt in NetBeans bauen erstellt es einen dist Ordner im Home-Ordner Ihres Projektes legt die JAR-Datei für Ihren Code in diesem Ordner, und auch die Abhängigkeiten (JAR-Dateien für erforderliche Komponenten wie UCanAccess, Jackcess, HSQLDB und Apache Commons-Bits) in einen Unterordner namens lib. Sie müssen sicherstellen, dass der Ordner lib auf den Zielcomputer kopiert und in den gleichen Ordner wie Ihre JAR-Hauptdatei gestellt wird. Schauen Sie sich here für Details an.

0

Sie könnten für den Fat-Jar-Ansatz gehen. Sie können es here sehen, wenn Sie Ameisen verwenden.

Wenn ein Maven-Projekt haben Sie this Plugin eine Fett-jar

Der Vorteil einer Fett-jar-Anwendung zu erstellen haben könnten, ist, dass Sie alles in einem Glas haben könnten und müssen nicht mit den Sorgen lib dir, wie es in einer anderen Antwort erwähnt wurde.

Seien Sie auch vorsichtig mit hartcodierte Pfade wie:

String strurl="jdbc:ucanaccess://C:\\Users\\Paul\\Desktop\\Spelli\\RispostiDB.mdb";

, die Sie in Ihrem Code haben.

Verwandte Themen