Доступ к базе данных sqlite, защищенной паролем с помощью sqlcipher в javascript - PullRequest
0 голосов
/ 06 мая 2020

Я выполнил эту процедуру и создал базу данных, защищенную паролем с помощью sqlcipher . Затем я устанавливаю соединение, следуя синтаксису sqlite3 .

const sqlite3 = require('sqlite3').verbose();

const db = new sqlite3.Database('path/to/database/file', (err) => {
    if (err) {
        return console.error(err.message);
    }
    console.log('Connected to the in-memory SQlite database.');
});
var query = 'select COUNT(*) as count from table_name where column_name IS NOT NULL;';

        db.serialize(function () {
            db.all(query, function (err, rows) {
                if (err) {
                    console.log(err);
                }else{
                    console.log(rows);
                }
            });
        });

Я ожидал, что запрос будет выполнен, но получится ошибка:
Ошибка: SQLITE_NOTADB: файл не является базой данных . Я пробовал, но не нашел для этого решения. Заранее спасибо.

1 Ответ

0 голосов
/ 06 мая 2020

Вам необходимо указать пароль, который вы использовали для шифрования. Используйте

pragma key='mypassword';

в качестве первого оператора сразу после открытия базы данных.

Вся идея зашифрованной базы данных состоит в том, что вы не должны просто «получить запрос для выполнения» ", не так ли?

...