2016-10-01 81 views
2

運行時,我已經開發了一個小遊戲,需要在MS Access數據庫被張貼由用戶輸入的文本。「沒有找到合適的驅動程序」,從JAR

它所有的工作在NetBeans罰款,但每當我從JAR文件訪問它(這是最終我需要交給我的客戶),它並沒有張貼任何數據庫。事實上,它返回以下錯誤:

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

這是相關代碼:

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

在NetBeans中生成項目在您的項目的主文件夾中創建一個'dist'文件夾,把JAR文件的代碼該文件夾中,並且還將依賴關係(JAR文件像UCanAccess所需的組件, Jackcess,HSQLDB和Apache Commons位)放入名爲'lib'的子文件夾中。您需要確保'lib'文件夾被複制到目標機器並放入與主JAR文件相同的文件夾中。請看[這裏](https://netbeans.org/kb/articles/javase-deploy.html)瞭解詳情。 –

+0

謝謝!除了您的建議之外,我還在NetBeans中的Libraries下添加了所有Jar文件。我的程序現在功能齊全,非常感謝! –

回答

0

在NetBeans中生成項目它會在你的項目的主文件夾dist文件夾,放該文件夾在你的代碼的JAR文件,並且還將依賴關係(JAR文件像UCanAccess,Jackcess,HSQLDB和Apache下議院位所需的組件)到一個名爲lib子文件夾。您需要確保lib文件夾被複制到目標機器並放置在與主JAR文件相同的文件夾中。詳情請看here

0

你可以去脂肪-JAR的方法。 如果您使用ant,您可以看到它here

如果有,你可以有this插件創建胖罐子

脂肪-JAR應用程序的好處一個Maven項目,你可以擁有一切一個罐子裏,不需要用擔心lib dir就像是在另一個答案中提到的那樣。

另外要小心像硬編碼路徑:

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

你在你的代碼有

相關問題