我有以下代码
Connection conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ= D:\\work folder\\netzeus\\Project - Optimo (Phase 1)\\DB\\DonorsDetail.mdb");
上述代码的问题是应用程序不可移植。所以我做的是
我尝试将getConnection
中的路径更改为
Connection conn = DriverManager.getConnection(“jdbc:odbc:Driver = {Microsoft Access Driver(* .mdb)}; DBQ = DonorsDetail.mdb”);
不幸的是,这没有用。有没有办法设置相对路径?我该怎么做?
答案 0 :(得分:2)
一种可能的解决方案是使用File
生成绝对路径String
,例如......
File dbFile = new File("DonorsDetail.mdb");
String path = dbFile.getAbsolutePath();
Connection conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ= " + path);
这将假设DonorsDetail.mdb
相对于应用程序执行上下文(即工作目录)
答案 1 :(得分:0)
每当我想连接数据库时,我就会这样做:
String dbFileName = "D:/work folder/netzeus/Project - Optimo (Phase 1)/DB/DonorsDetail.mdb";//Using your database path
String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};"+
"DBQ="+dbFileName+";";
Connection conn=DriverManager.getConnection(url);
试试这个。如果您收到错误,请检查您的拼写和文件夹名称。
修改强>
如果您想要便携式,您可以将数据库放入C:/
。只需加密您的数据库文件并硬编码密码即可打开数据库文件,如:
String dbFileName = "C:/DonorsDetail.mdb";
String password = "your_password";
String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};"+
"DBQ="+dbFileName+";"+
"Pwd="+password+";";