操作位于程序文件夹中的SQLite数据库

时间:2018-04-25 10:20:45

标签: java sqlite exception

我来自MySQL,我尝试学习一些SQLite.I手动创建了一个数据库,我把它放在程序文件(x86)文件夹中。 连接没有错误,但是当我创建一个表时,它给了我这个错误:

org.sqlite.SQLiteException: [SQLITE_CANTOPEN]  Unable to open the database file (unable to open database file)
at org.sqlite.core.DB.newSQLException(DB.java:909)
at org.sqlite.core.DB.newSQLException(DB.java:921)
at org.sqlite.core.DB.execute(DB.java:825)
at org.sqlite.core.CoreStatement.exec(CoreStatement.java:75)
at org.sqlite.jdbc3.JDBC3Statement.execute(JDBC3Statement.java:61)
at SQLite.createDatabase(SQLite.java:15)
at Main.main(Main.java:6)

这是我的代码:

    Connection cn;  
    try {
        cn = DriverManager.getConnection("jdbc:sqlite:C:\\Program Files (x86)\\CodFiscExtractor\\database.db");
        Statement stmt = cn.createStatement();
        stmt.execute("CREATE TABLE IF NOT EXISTS warehouses (\n"
            + " id integer PRIMARY KEY,\n"
            + " name text NOT NULL,\n"
            + " capacity real\n"
            + ");");

    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

我应该做什么?

1 个答案:

答案 0 :(得分:1)

你的问题似乎终于是权限了。这是windows的内部问题...... 您可以使用管理员权限启动java程序来修复此错误。 Alternate只将您的本地数据库存储在另一条路径中。

在连接数据库之前还要加载驱动程序:

HttpHeaders