Подключиться к sqlite3 на C unable to open database file

205
20 апреля 2018, 16:02

Подключаю sqlite в нативе на андроид. Вылетает ошибка unable to open database file

#include <android/log.h>
#include <stdint.h>
#include "DatabaseHelper.h"
#include "../sqlite/sqlite3.h"
const char* SQL = "CREATE TABLE IF NOT EXISTS foo(a,b,c); INSERT INTO FOO 
VALUES(1,2,3); INSERT INTO FOO SELECT * FROM FOO;";
const int ERROR_STATE = -1;
const int SUCCESSFULLY_STATE = 0;
int createDatabase(char *dbPath) {
char TAG[20] = "NATIVE_SQL";
sqlite3 *db = 0; // хэндл объекта соединение к БД
char *err = 0;
// открываем соединение и тут вылетает ошибка! 
if(sqlite3_open(dbPath, &db)) {
    __android_log_print(ANDROID_LOG_DEBUG, TAG, "Error opened database: 
%s\n",sqlite3_errmsg(db));
__android_log_print(ANDROID_LOG_ERROR, TAG, "path: %s\n",dbPath);
    return ERROR_STATE;
}
...someone code

Примечание: Если

if(sqlite3_open("", &db)) {..

. то бд создает временный файл бд который удаляет во время закрытия. См.Документацию. Так работает! Никаких ошибок нет.

Как мне создать файл и подключиться к нему на сях?

Еще вот так попробовал, эффект тот-же: Прим:Файл руками я не создаю, надеюсь, что если его нет, он создастся сам.

if(sqlite3_open_v2(dbPath, &db, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL)) {
    __android_log_print(ANDROID_LOG_DEBUG, TAG, "Error opened database2. %s\n",sqlite3_errmsg(db));
    return ERROR_STATE;
}

Permissions in Manifest

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
READ ALSO
Ответить что значит последний вариант

Ответить что значит последний вариант

Имеет исходную строку в коде

234
Создание собственных сигналов и слотов

Создание собственных сигналов и слотов

Программа имеет считывать данные с консоли, используя класс QTextStream, и записывать их в линейный контейнер QStack до введения терминального 125±0

222
Как вынести переменную из класса?

Как вынести переменную из класса?

Имеется следующий код (рисует множество Мандельброта):

263
Подружить cmake и glew в личном проекте

Подружить cmake и glew в личном проекте

Написал небольшую программу на visual studio 15 c++ с использованием GLEW GLFW GLM OpenCVПо требованиям человека, которому я это делаю, я должен отдать проект...

184