【问题标题】:java.sql.SQLException: Opening db:'DB-NAME.sqlite' : Permission deniedjava.sql.SQLException:打开 db:'DB-NAME.sqlite':权限被拒绝
【发布时间】:2017-09-15 10:22:48
【问题描述】:

我在 Ubuntu14 上使用 Netbeans IDE 8.2 开发了一个 Java 应用程序项目。如何使用 Netbeans IDE(.deb) Native Packaging 获得适用于 Linux 系统的安装程序。

我已经按照this链接中的说明打包了它

但是,上面提到的this 教程是Windows 中的NetBeans 7.4 本机打包。但是我在 Ubuntu(我的系统)的 Netbeans8.2 中遵循了本教程。我在上面提到的教程中的指定文件夹中得到了 .deb 文件。

Project-name-1.0.deb 文件可以成功安装在我的 Ubuntu 系统中,但是在运行此安装的应用程序时显示错误:“java.sql.SQLException: Opening db:'DB-NAME.sqlite': Permission拒绝”

我的项目使用 sqlite DB 进行数据存储。我使用 JAR sqlite-JDBC-3.19.3.jar 作为它的库。

我在 Ubuntu 中使用过 Netbeans IDE 8.2,并在其中创建了新的 Java 应用程序项目。

现在,我如何打包这个 Java 应用程序项目以获得它的 Linux(.deb) 安装程序,而不会出现这个 Permission denied 错误

java Connect.java类如下

import java.sql.*;

import javax.swing.JOptionPane;

public class Connect {

    Connection con = null;
    Statement stmt = null;

    public static Statement ConnectDB() {
        try {
            Connection conn = null;
            Statement stmt = null;

            Class.forName("org.sqlite.JDBC");
            conn = DriverManager.getConnection("jdbc:sqlite:JavaApp3DB.sqlite");

            stmt = conn.createStatement();

            return stmt;
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
        return null;
    }
}

应用程序在 NetBeans 中成功执行,没有任何权限被拒绝错误。但是,在 Ubuntu 中安装和执行打包 (.deb) 安装程序时会显示错误。

【问题讨论】:

  • @NidhinCB - 如果这确实是您的问题,并且您的 Manu 帐户已被锁定,您应该前往 Meta 询问您是否可以合并您的帐户。现在看起来您正在将代码添加到其他人的问题中。

标签: java ubuntu netbeans deployment installation


【解决方案1】:

更改此jdbc:sqlite:JavaApp3DB.sqlite 给这个jdbc:sqlite:JavaApp3DB.db

当你想连接到你的数据库时,你需要一个地址,并且这个地址提到了一个我们称之为database.db而不是.sqlite的文件。

【讨论】:

  • 老兄,当你想连接到你的数据库时,你需要一个地址,这个地址提到了一个我们称之为 database.db 而不是 .sqlite 的文件
  • 很好,谢谢。请相应地编辑您的答案。当你这样做时,它可能会得到支持。它甚至可能被接受为 答案。
  • @WhiteDruid- 我已将其更改为 .db。但是,这个错误没有解决。现在它显示“java.sql.SQLException:Opening db:'DB-NAME.db':Permission denied”。它与创建的数据库文件名无关。从 NetBeans 构建的 ubuntu 打包安装程序文件 (.deb),当安装在 ubuntu 上时,会在文件夹“/opt”上创建相应的文件。因此,当安装的应用程序被执行时,它会尝试在文件夹“/opt/...”中创建“DB-NAME.db”文件,它可能会被 Permission denied。但是,从netbeans生成安装程序时如何解决。
  • 兄弟你应该给一个像这样的地址 jdbc:sqlite:C:/sqlite/db/yourDataBase.db 试试这个教程tutorialspoint.com/sqlite/sqlite_create_database.htm
  • 是的,我也给出了文件夹的路径。它不能解决问题。应用程序在使用 netbeans 运行时成功执行,但是在安装在 ubuntu 中时从 netbeans 打包的 (.deb) 构建显示此错误。请再次阅读我的问题。为了更好地理解这个问题,我做了一些更正。
猜你喜欢
  • 2013-01-08
  • 1970-01-01
  • 1970-01-01
  • 2016-08-12
  • 2013-03-13
  • 2020-05-31
  • 2018-09-08
  • 2018-03-20
  • 2016-03-13
相关资源
最近更新 更多