| //+------------------------------------------------------------------+
|
| //| OpenDatabase: открытие базы и настройка соединения |
|
| //+------------------------------------------------------------------+
|
| bool OpenDatabase()
|
| {
|
| g_db = DatabaseOpen(InpDatabase,
|
| DATABASE_OPEN_READWRITE
|
| | DATABASE_OPEN_CREATE
|
| | DATABASE_OPEN_COMMON);
|
|
|
| if(g_db == INVALID_HANDLE)
|
| {
|
| PrintFormat("Не удалось открыть базу '%s', код ошибки: %d",
|
| InpDatabase, GetLastError());
|
| return false;
|
| }
|
|
|
| if(!DatabaseExecute(g_db, StringFormat("PRAGMA busy_timeout=%d", InpBusyTimeout)))
|
| PrintFormat("Не удалось задать busy_timeout, код ошибки: %d", GetLastError());
|
|
|
| if(!DatabaseExecute(g_db, "PRAGMA journal_mode=WAL"))
|
| PrintFormat("Не удалось включить режим WAL, код ошибки: %d", GetLastError());
|
|
|
| if(!EnsureSchema(g_db))
|
| {
|
| DatabaseClose(g_db);
|
| g_db = INVALID_HANDLE;
|
| return false;
|
| }
|
|
|
| return true;
|
| }
|