【发布时间】:2014-09-18 12:45:23
【问题描述】:
我在 derby 中创建了数据库,并将其存储在项目文件夹根目录的 /data 文件夹中。在我使用嵌入式驱动程序的应用程序中。当我从 netbeans 运行我的应用程序时,我没有收到任何错误。当我构建应用程序并运行 jar 时,我得到 database not found error 。这是我用来连接数据库的代码。
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Properties p = new Properties();
p.put("user", "usman");
p.put("password", "******");
DriverManager.getConnection("jdbc:derby:data/SalePurchase", p);
谁能告诉我当我在 jar 中运行数据库文件夹“SalePurchase”时如何访问它。 .
【问题讨论】:
-
为了良好的秩序:数据库 inside 是 jar 还是外部的?内部,作为资源,最好复制到
System.getProperty("user.home") + "/SalePurchase.db"左右。 -
@JoopEggen 我的项目文件夹根目录的数据文件夹中有数据库文件夹。我想构建项目,制作项目的可运行jar并访问数据库
-
然后做
File.copy(getClass.getResourceAsStream("/data/SalePurchase.db"), Paths.get(System.getProperty("user.home") + "/SalePurchase.db"));外部安装数据库;连接 URL “jdbc:derby:~/SalePurchase”。