我有一个sqlite数据库,我可以使用JDBC从我的Java程序访问它。连接设置如下:
private final static String dbfilelocation = "\\sql\\";
private final static String dbfilepath = dbfilelocation + "database.sqlite3";
//parse the database
private static void parseAllFromDB() {
Connection c = connect2db(dbfilepath);
// Here I get the values from database via connection 'c'
disconnectfromdb(c);
}
// Connects with sqlite database
private static Connection connect2db(String dbfilename) {
Connection c = null;
try {
Class.forName("org.sqlite.JDBC");
String strConnection = "jdbc:sqlite:" + dbfilename;
c = DriverManager.getConnection(strConnection);
c.setAutoCommit(false);
} catch (Exception e) {
//Manage exceptions
}
return c;
}
这可以按预期工作。
但是,现在我想创建一个包含我的' database.sqlite3'的可运行.jar文件。文件里面。然后,直到现在,数据库不再可访问,因为它位于.jar内。如何使JDBC连接到.jar文件中的数据库? 或者让数据库始终位于.jar文件之外是一种更好的做法吗?在那种情况下,怎么样?
感谢。