0

我正在为学校做一个 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);

我想要做的是使链接相对,所以我们团队的所有成员都可以使用相同的链接。

4

1 回答 1

1

问题出在 access 数据库文件位置:C:\\Users\\Badlapje\\Dropbox\\workspace\\FOOP\\Group62RISK\\Risk.accdb. 只需确保将此文件放在每个人在其计算机中都有的文件夹中,例如C:\\school-project\\Risk.accdb.

另一种解决方案可能是将文件设置在源包内的 Java 项目中,然后使用 Java 代码加载文件绝对路径(改编自此答案):

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
于 2013-04-05T20:55:07.477 回答