SQLite をローカル データベースとして使用する Swing アプリケーションを作成しました。データベース ファイルは、プロジェクトのルート ディレクトリにあります。
Project/DatabaseFile
アプリケーションは Eclipse で正常に動作しますが、パッケージ化された実行可能 Jar を実行すると、次のエラーが発生します。
No such table : table1
これは、データベースに到達できないことを意味します。結果の JAR ファイルの内容を調べたところ、データベース ファイルはもう存在していませんでした。
コードでは、次のようにデータベースをリンクしました。
jdbc:sqlite:DatabaseFile
私の質問は、SQLite データベースを実行可能な Jar に含める方法です。
編集
ソースフォルダーにDBファイルを配置しProject/src/DatabaseFile
、パスをに変更するとjdbc:sqlite:src/DatabaseFile
、Eclipseで動作しましたが、Jarファイルをjava -jar Project.jar
. と言いました:
path to 'src/DatabaseFile': 'C:\Users\name\src' does not exist
データベースの相対パスを指定する必要があると思います。
編集
これは私がデータベースに接続する方法です:
public Connection getConnection(){
try{
Class.forName("org.sqlite.JDBC").newInstance();
con = DriverManager.getConnection("jdbc:sqlite:src/DatabaseFile");
} catch (Exception e) {
Log.fatal("Méthode: getConnection() | Class : SQLiteConnection | msg system : " + e.getMessage());
}
return con;
}