0
How to write directory of files in java for Commercial software?
think we use ms access database in us application, the directory of database is D:\Data\data.accdb. when our app is ready to install to other computers(client) this directory is not exist. so what is the best way to solve that?
6 ответов
+ 1
You could use relative paths in your application and store this database in your jar runtime path.
Alternatively you could include a db file in the same path as the jar file and on app start, you could check if the db file exists in a specific folder for example the user's appdata folder\YourProgramName and copy the db file to that location if it does not exist.
+ 1
Let's say your jar was placed in C:\My Program
And you placed your database file in C:\My Program\Data\data.accdb
In the program you would do something like this to get the absolute path via a relative path method.
File file = new File("Data/data.accdb");
String dbPath = file.getAbsolutePath();
I assume you would be using Jdbc to connect to the Ms access db. If yes, use the above method to set the Jdbc URL path.
0
ok, how to use relative paths? can you take an example about this question?
0
so now we should use dbPath.
private static final String url = jdbc:ucanaccess://' "+dbPath+" ' ";
is it true?
0
what is the problem in this error:
public class ConnectionManager {
File file = new File("Data/Uni.accdb");
String dbPath = file.getAbsolutePath();
public static String url = "jdbc:ucanaccess://' "+dbPath+" '";
private static String driverName = "net.ucanaccess.jdbc.UcanaccessDriver";
//private static String username = "root";
//private static String password = "triala";
private static Connection connection;
private static String urlstring;
public static Connection getConnection() {
try {
Class.forName(driverName);
try {
connection = DriverManager.getConnection(url);
} catch (SQLException ex) {
// log an exception. fro example:
System.out.println("Failed to create the database connection.");
}
} catch (ClassNotFoundException ex) {
// log an exception. for example:
System.out.println("Driver not found.");
}
return connection;
}
}
0
In all of the exceptions can you also do ex. printStackTrace(), and paste the error.