2016-10-01 26 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ファイルがそのフォルダに置かれ、依存関係(UCanAccessなどの必要なコンポーネントのJARファイル、 Jackcess、HSQLDB、Apache Commonsビット)を 'lib'という名前のサブフォルダにコピーします。 'lib'フォルダがターゲットマシンにコピーされ、メインのJARファイルと同じフォルダに置かれるようにする必要があります。詳細は[こちら](https://netbeans.org/kb/articles/javase-deploy.html)をご覧ください。 –

+0

感謝します!あなたの提案に加えて、NetBeansのすべてのJarファイルをライブラリの下に追加しました。私のプログラムは完全に機能しているので、とても感謝しています! –

答えて

0

は、NetBeansでプロジェクトをビルドするとき、それはあなたのプロジェクトのホームフォルダにdistフォルダを作成し、置きますJARファイルを作成し、依存関係(UCanAccess、Jackcess、HSQLDB、Apache Commonsビットなどの必須コンポーネントのJARファイル)をlibというサブフォルダに入れます。 libフォルダがターゲットマシンにコピーされ、メインのJARファイルと同じフォルダに配置されるようにする必要があります。詳細はhereをご覧ください。

0

あなたはファットジャーのアプローチに行くことができます。 antを使用している場合はhereが表示されます。

Mavenプロジェクトを持っている場合は、脂肪のjarを作成するthisプラグイン

を持っている可能性脂肪のjarアプリケーションの利点は、1瓶内部のすべてを持っている可能性があり、と心配する必要がないということですそれは別の答えで言及されているようにlibディレクトリ。あなたのコードを持っている

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

はまたのようなハードコーディングされたパスに注意してください。

関連する問題