Управление базой данных SQLite, расположенной в папке программы - PullRequest
0 голосов
/ 25 апреля 2018

Я пришел из MySQL и попытался узнать что-то о SQLite. Я вручную создал базу данных и поместил ее в папку программных файлов (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 голосов
/ 25 апреля 2018

Кажется, ваша проблема, наконец, в разрешениях.Это внутренняя проблема с Windows ... Вы можете запустить Java-программу с правами администратора, чтобы исправить эту ошибку.В качестве альтернативы просто сохраните локальную базу данных по другому пути.

Также по-прежнему загружайте драйверы перед подключением к базе данных:

Class.forName("org.sqlite.JDBC");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...