首页 > 解决方案 > Packed Jar 文件中不存在数据库文件

问题描述

我有一个使用 MS 访问作为数据库的 JavaFX 项目,在 IntelliJ 中创建可执行 JAR 后,在 CMD 中运行 jar 时,我得到以下异常

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.x.x given file does not exist: resource\Account_Record.accdb
    at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:231)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)

这表明我的以下操作无法访问数据库文件:

Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
        conn = DriverManager.getConnection("jdbc:ucanaccess://resource//Account_Record.accdb);

我检查了 Jar 文件,是的,里面有“Account_Record.accdb”,在 IntelliJ IDE 中运行 JAR 文件时,我没有收到任何错误,但无法让它独立!

标签: javadatabasems-accessjavafxucanaccess

解决方案


UcanAccess 仅在文件系统中查找数据库,您必须通过自己的代码提取它


推荐阅读