我正在为学校做一个 Java 项目,我们必须使用 MS Access 来存储数据。我已经设法启动并运行数据库,但是我似乎找不到如何建立与数据库的相对链接。我在网上搜索并尝试了我能想到的一切,但似乎没有任何效果。这里有人可以帮忙吗?
这是我现在放置链接的方式:
private static final String DATABASE_URL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Users\\Badlapje\\Dropbox\\workspace\\FOOP\\Group62RISK\\Risk.accdb";
然后我调用如下:
connection = DriverManager.getConnection(DATABASE_URL);
我想要做的是使链接相对,这样我们团队的所有成员都可以使用相同的链接。
最佳答案
问题出在 Access 数据库文件位置:C:\\Users\\Badlapje\\Dropbox\\workspace\\FOOP\\Group62RISK\\Risk.accdb
。只需确保将此文件放在每个人计算机上都有的文件夹中,例如 C:\\school-project\\Risk.accdb
。
另一个解决方案可能是将文件设置在源包内的 Java 项目中,然后使用 Java 代码加载文件绝对路径(改编自 this answer ):
package edu.proj.res;
public class Main {
public static String getDatabaseLocation() {
return Main.class.getClassLoader().getResource("edu/proj/res/database.txt").toString();
}
public static String changeToWindowsPath(String path) {
return path.replace("file:/", "").replaceAll("/", "\\\\");
}
public static void main(String[] args) {
System.out.println(changeToWindowsPath(getDatabaseLocation()));
}
}
有一个项目结构:
ConsoleTests
- src
- edu.proj.res
+ database.txt
+ Main.java
程序输出:
C:\workspace\ConsoleTests\bin\edu\proj\res\database.txt
关于java - 链接到 Access 数据库时如何输入相对 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15842807/