Ошибка SQLITE или отсутствует база данных (нет такой таблицы: путь) - PullRequest
0 голосов
/ 04 апреля 2020
 try {
        // db parameters
        String url = "jdbc:sqlite: db_path.db";
        // create a connection to the database
        conn = DriverManager.getConnection(url);
        System.out.println("Connection to SQLite has been established.");
    } catch (SQLException e) {
        System.out.println(e.getMessage());
    }

Когда база данных подключена, в папке проекта создается дубликат файла с тем же именем и размером 0Kb

String query = "INSERT INTO Path VALUES (?)";

try {
    PreparedStatement state = DB_Path.conn.prepareStatement(query);
    state.setString(1,path);
} catch (SQLException e) {
    System.out.println(e.getMessage());
}

Ответы [ 2 ]

1 голос
/ 04 апреля 2020

У вашего подключения нет прав доступа к существующему файлу БД. Таким образом, он создает новый (другой) файл

0 голосов
/ 04 апреля 2020

Проблема в URL файла базы данных, т. Е. Пробел между jdb c: sqlite: и db_path.db

Правильный путь:

url = "jdbc:sqlite:db_path.db;

Вы можете использовать абсолютный путь тоже, но имейте в виду вышеупомянутую ошибку, для нахождения некоторого файла в каталоге, предпочтительно использовать обратные каталоги sla sh b / w, потому что он используется в windows path system и для синтаксиса java это происходит два раза как это,

url = "jdbc:sqlite:C:\\Desktop\\db_path.db;

или вы также можете использовать forward sla sh,

url = "jdbc:sqlite:C:/Desktop/db_path.db;
...