Как открыть chat.db для чтения

Я пытаюсь открыть сообщения db (~ / Library / Messages / chat.db), используя SQLite3 lib:

int rc = sqlite3_open_v2("/Users/username/Library/Messages/chat.db", &m_db, SQLITE_OPEN_READONLY, NULL);
if (rc != SQLITE_OK) {
fprintf(stderr, "Cannot open database [%d]: %s\n",
sqlite3_extended_errcode(m_db),
sqlite3_errmsg(m_db));
sqlite3_close(m_db);
} else {
qDebug() << "Database: connection ok";
}

Возвращается

Cannot open database [14]: unable to open database file

где 14 — SQLITE_CANTOPEN в соответствии с https://www.sqlite.org/rescode.html#cantopen

После создания копии файла chat.db он открывается корректно с кодом выше.

В то же время, используя встроенный cli, я могу получить доступ к БД по оригинальному пути из терминала:

> sqlite3 ~/Library/Messages/chat.db

SQLite version 3.22.0 2018-01-22 18:45:57
Enter ".help" for usage hints.
sqlite> .tables
_SqliteDatabaseProperties  kvtable
attachment                 message
chat                       message_attachment_join
chat_handle_join           message_processing_task
chat_message_join          sync_deleted_attachments
deleted_messages           sync_deleted_chats
handle                     sync_deleted_messages

Как открыть БД программно?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]