powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / SQLite многопоточный доступ к базе в памяти (через FireDAC)
63 сообщений из 63, показаны все 3 страниц
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052586
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По правилу, на каждый поток надо открывать отдельное соединение (FDConnection)
Но при подключении к базе в памяти (FDConnection.Open без параметров) каждое соединение
получает доступ к отдельной базе в памяти, а не к одной общей.
Существует ли способ подключиться в новом FDConnection к базе в памяти, которую создал другой коннекшн?
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052606
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_avz,

вроде бы в новых SQLite такое можно, нужно включить режим общего кэша: https://sqlite.org/inmemorydb.html
Но в SQLite один фиг доступ в лучшем случае поочередный, пока запрос к базе не завершится, другие треды при попытке обращения к базе будут ждать.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052611
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,
1)по ссылкеIn-memory databases are allowed to use shared cache if they are opened using a URI filename. If the unadorned ":memory:" name is used to specify the in-memory database, then that database always has a private cache and is this only visible to the database connection that originally opened it. However, the same in-memory database can be opened by two or more database connections as follows:

rc = sqlite3_open("file::memory:?cache=shared", &db);

Or,

ATTACH DATABASE 'file::memory:?cache=shared' AS aux1;

This allows separate database connections to share the same in-memory database.

А как открывать БД в FireDAC?

FDConnection.Open('file::memory:?cache=shared'), так что ли?
если тупо так, то не прокатывает

2) Мне принесёт пользу и параллельный доступ хотя бы на чтение.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052615
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_avz,

и чтения параллельного не будет.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052622
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
_avz,

и чтения параллельного не будет.

Это только для базы в памяти так?
Для файловой БД ведь есть параллельное чтение, если собрать dll с нужными ключами
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052755
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqlite это как бы все же не многопользовательский сервер, рассматривайте его как удобный локальный однопользовательский sql движок.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052821
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал работать с локальным скллайт+файрДАК. Однопользовательский, нагрузка мизерная, записей пару сотен.
Опыт неожиданно негативный: какие-то блокировки и несохранения. База часто заламывается.
Никакие меры не помогли.
Непонятки с совместимостью. Некот. утилиты видят не то, что я нормально вижу.

Сырость несусветная. Кароч выбросил. Опыт с различными СУБД - 25лет, есличо.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052831
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo,

А что вместо файрдака взяли?
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052833
zedxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
L_argo
Сырость несусветная. Кароч выбросил. Опыт с различными СУБД - 25лет, есличо.

Выбросил FireDAC или SQLite?
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052951
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zedxxx
L_argo
Сырость несусветная. Кароч выбросил. Опыт с различными СУБД - 25лет, есличо.
Выбросил FireDAC или SQLite?
Выбросил SQLite. На сколько смог, обошелся основной БД и ini-файлами, т.к. задача была хранить служебные данные и настройки.

Тем не менее было бы неплохо заюзать к-л локальную легковесную СУБД, которую не надо инсталить.

До SQLite перепробовал несколько подобных систем.
Везде какие-то грабли, начиная от проблем с кириллицей и датами и кончая нестабильностью и отсутствием DB-драйвера для разных версий эхотага. :)
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052968
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
L_argo
Выбросил SQLite. На сколько смог, обошелся основной БД и ini-файлами, т.к. задача была хранить служебные данные и настройки.

Либо компоненты глючат, либо ты не умеешь ее готовить. Весь прикладной андроид хранит настройки в sqlite и у них ничего не теряется. Коллеги успешно крутят в in-memory sqlite базах гигабайты данных и все ОК.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052986
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну про от что есть нюансы с русским, датами и прочим, все так. Это все же не полноценный sql сервер, это посути простой движок БД с поддержкой sql.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40052993
zedxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
L_argo, Ну вообще-то, SQLite очень надёжная и живучая БД. А проблемы были скорее всего связаны с неправильным использованием https://www.sqlite.org/howtocorrupt.html
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053061
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo

Выбросил SQLite. На сколько смог, обошелся основной БД и ini-файлами, т.к. задача была хранить служебные данные и настройки.


Чем тебе ini не угодили для хранения служебных данных?
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053067
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster
L_argo

Выбросил SQLite. На сколько смог, обошелся основной БД и ini-файлами, т.к. задача была хранить служебные данные и настройки.


Чем тебе ini не угодили для хранения служебных данных?

Например, невозможностью параллельной модификации. Ограничением размера и типов данных, фиксированной структурой.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053069
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
DarkMaster
пропущено...


Чем тебе ini не угодили для хранения служебных данных?

Например, невозможностью параллельной модификации. Ограничением размера и типов данных, фиксированной структурой.
Это для любых реляционок так, задумайся.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053071
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemargl,

"реляционки" легко реализуют древовидные, списки, и (например) сетевые структуры.
У "реляционок" нет [видимых] ограничений на размер.
У [правильных] "реляционок" доступна параллельная модификация и чтение из нескольких коннектов, есть транзакции, есть возможность контроля целостности данных, размещения логики в объекте хранения.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053109
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Siemargl,

"реляционки" легко реализуют древовидные, списки, и (например) сетевые структуры.
У "реляционок" нет [видимых] ограничений на размер.
У [правильных] "реляционок" доступна параллельная модификация и чтение из нескольких коннектов, есть транзакции, есть возможность контроля целостности данных, размещения логики в объекте хранения.
Так то оно так, но ini - это одна таблица.

А к ней применимы все те же ограничения после задания структуры (хотя даже меньше, можно без EAV обойтись) =)
>Например, невозможностью параллельной модификации. Ограничением размера и типов данных, фиксированной структурой.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053117
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
Тем не менее было бы неплохо заюзать к-л локальную легковесную СУБД, которую не надо инсталить.

До SQLite перепробовал несколько подобных систем.
Везде какие-то грабли, начиная от проблем с кириллицей и датами и кончая нестабильностью и отсутствием DB-драйвера для разных версий эхотага. :)

С FB-embedded FireDAC работает довольно хорошо, имхо.
В многопоточном режиме в т.ч.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053160
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
Пробовал работать с локальным скллайт+файрДАК. Однопользовательский, нагрузка мизерная, записей пару сотен.
Опыт неожиданно негативный: какие-то блокировки и несохранения. База часто заламывается.
Никакие меры не помогли.
Непонятки с совместимостью. Некот. утилиты видят не то, что я нормально вижу.

Сырость несусветная. Кароч выбросил. Опыт с различными СУБД - 25лет, есличо.


Вот блин, а я как раз думал о том, чтоб вместо ms jet на SQLite переползти.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053162
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
didgik,

переползай на Firebird.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053164
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
didgik,

переползай на Firebird.

Тоже была такая мысль, но пока ссыкатно. Там автоинкремента не было вроде.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053165
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъпереползай на Firebird.

А чего ж мелочиться-то, пусть сразу ползёт к Оракулу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053167
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
didgik>Там автоинкремента не было вроде.

Всегда было. Раньше, когда в IBExpert галочку "автоинкремент" ставил, созавался триггер на вставку и генератор. А в новых версиях - атрибут IDENTITY,.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053168
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

ъъъъъпереползай на Firebird.

А чего ж мелочиться-то, пусть сразу ползёт к Оракулу.


Бабушка с ноутом на целероне и 2 гигами опертивки с инетом через 3джи осилит администрирование?
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053182
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
didgik,

а какое там администрирование? там его нет. поставил и забыл. в 99% случаев.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053186
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon
didgik,

а какое там администрирование? там его нет. поставил и забыл. в 99% случаев.


По любому оракл вместо msjet это уже перебор. Слишком круто да и не бесплатно небось.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053187
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XE редакции бесплатно. А мелкие базы с малым числом пользователей он способен тянуть и без
постоянного присмотра специально обученного админа.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053189
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нда. но оракл я знаю меньше всего. Только название знаю )
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053190
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
didgik
Вот блин, а я как раз думал о том, чтоб вместо ms jet на SQLite переползти.

А чем msJet оказался плох?
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053191
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
didgik
Вот блин, а я как раз думал о том, чтоб вместо ms jet на SQLite переползти.

А чем msJet оказался плох?

Часто база слетает по непонятным причинам. В общем это все пока.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053348
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

ъъъъъпереползай на Firebird.

А чего ж мелочиться-то, пусть сразу ползёт к Оракулу.
Пусть тогда ползет через MSSQL (в т.ч Compact ).

Даже XE жрет памяти полгига. И запускается меееедленно.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053454
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

XE редакции бесплатно. А мелкие базы с малым числом пользователей он способен тянуть и без
постоянного присмотра специально обученного админа.
Жирные минусы:
1. Его надо инсталить, что невозможно для юзеров без прав.
2. Для хранения сотни записей ??? Мягко говоря, из пушки по воробьям. Все равно, что использовать SAP для учета в уличном ларьке.
3. На совсем слабых компах может притормаживать, особенно при старте.
4. Множество прочих проблем, н-р связанных с многопользовательским доступом. В общем случае такое возможно. Т.е. учесть, что эта БД не индивидуальная.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053458
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Классика. Вначале "доступ однопользовательский", а потом вдруг появляется параллельная модификация )))
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053506
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo,

Для сотни записей используйте датасет в памяти, сериализуйте его в json и не парьте окружающим мозг :))
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053508
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
энди
L_argo,

Для сотни записей используйте датасет в памяти, сериализуйте его в json и не парьте окружающим мозг :))

И каким образом возникнет возможность параллельной записи в общий пакет данных?
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053664
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
Dimitry Sibiryakov

пропущено...

А чего ж мелочиться-то, пусть сразу ползёт к Оракулу.
Пусть тогда ползет через MSSQL (в т.ч Compact ).

Даже XE жрет памяти полгига. И запускается меееедленно.


А вот интересно, почему у меня Compact не взлетел. Я ведь думал об этом. Может там тоже гимор с установкой и одной длл в папке с прогой не обойдется.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053738
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Классика. Вначале "доступ однопользовательский", а потом вдруг появляется параллельная модификация )))


Это была одна из причин банкротства моего первого места работы. База была хоть MS Access (=MS JET), но допускала доступ нескольких пользователей, правда с большими ограничениями. И MS JET оказался тупик.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053741
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15.03.2021 17:16, Кроик Семён пишет:
> И MS JET оказался тупик.

дык с него можно относительно просто переползти на MSSQL
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053789
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C SQL Server Compact аккуратнее, если я не ошибаюсь в этом году прекращается поддержка и выпуск новых версий.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053803
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
энди
C SQL Server Compact аккуратнее, если я не ошибаюсь в этом году прекращается поддержка и выпуск новых версий.

Мож будет чо нить вместо него. Да и можно подумать что у msjet есть развитие и поддержка.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40053807
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
didgik
энди
C SQL Server Compact аккуратнее, если я не ошибаюсь в этом году прекращается поддержка и выпуск новых версий.

Мож будет чо нить вместо него. Да и можно подумать что у msjet есть развитие и поддержка.
Вместо него SQL Server Express LocalDB, но это уже отдельный процесс, а не несколько DLL. Впрочем, при краше своего приложения, не будет ломаться база.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054040
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот не кажется ли, что для многих задач установка монстров типа MS SQL Server'a любой редакции (хоть LocalDB) может похоронить проекты, которые задумывались как небольшое незаметное приложение? С небольшим инсталлятором и немного занимающим место в RAM и на диске?

Ведь из-за этого же и выбирают базы типа SQLite, для компактности !!! Иначе ставили бы все сразу MS SQL / Oracle Express / MySQL и т.д. на любой чих.

Как думаете, что в качестве соотношения занимаемое место / фичи база Firebird впереди всех?
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054050
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнВедь из-за этого же и выбирают базы типа SQLite, *для компактности*!!!

Нет, их выбирают тупо чтобы не оборачивать все обращения к файлу в критическую секцию или
любой другой лок. То есть от лени или глупости.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054067
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён
как небольшое незаметное приложение?


вирус? с базой данных?
оригинально

Для всего остального, пользователю в принципе пофиг. Главное, что бы через инсталятор нормально ставилось и желательно деинсталировалось.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054257
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да отлично sqlite работает, ТС просто не сумел его приготовить
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054299
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Да отлично sqlite работает, ТС просто не сумел его приготовить

Есть ответ на вопрос в сабже?
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054353
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@#$%^ ...
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
  object FDConnection1: TFDConnection
    Params.Strings = (
      'Database=file::memory:?cache=shared'
      'DriverID=SQLite')
    Connected = True
    LoginPrompt = False
    Left = 32
    Top = 16
  end
  object FDConnection2: TFDConnection
    Params.Strings = (
      'Database=file::memory:?cache=shared'
      'DriverID=SQLite')
    Connected = True
    LoginPrompt = False
    Left = 128
    Top = 16
  end
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054401
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Достали Диму...
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054410
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

я уже было обрадовался...

[FireDAC][Phys][SQLite] ERROR: unable to open database file

Если что,
SQLite v. 3.34.1
RAD Studio 10.1
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054427
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Показывай код ...
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054444
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

FDConnection1.Open
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054445
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_avz
Fr0sT-Brutal
Да отлично sqlite работает, ТС просто не сумел его приготовить

Есть ответ на вопрос в сабже?

Поправка: не ты, а L_argo - он перебил контекст.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054458
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054478
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

---------------------------
Application Error
---------------------------
Exception ESQLiteNativeException in module Project12.exe at 0023754B.

[FireDAC][Phys][SQLite] ERROR: unable to open database file.


---------------------------
ОК
---------------------------
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054484
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя в редакторе соединения test проходит:
Connection established successfully.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054550
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054552
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

Connection Editor Info================================
Connection definition parameters
================================
Database=file::memory:?cache=shared
DriverID=SQLite
================================
FireDAC info
================================
Tool = RAD Studio 10.1 Berlin
FireDAC = 15.0.1 (Build 86746)
Platform = Windows 32 bit
Defines = FireDAC_NOLOCALE_META;FireDAC_MONITOR
================================
Client info
================================
Loading driver SQLite ...
DLL = <sqlite3_x86.obj statically linked>
Client version = 3.9.2
Compile options = ENABLE_COLUMN_METADATA;ENABLE_DBSTAT_VTAB;
ENABLE_FTS3;ENABLE_FTS3_PARENTHESIS;ENABLE_FTS4;
ENABLE_FTS5;ENABLE_JSON1;ENABLE_RTREE;
ENABLE_STAT4;HAS_CODEC;OMIT_AUTOINIT;
OMIT_DEPRECATED;SYSTEM_MALLOC;TEMP_STORE=2;
THREADSAFE=2
================================
Session info
================================
Current catalog =
Current schema =
Total changes = 0
Database encoding = UTF8
Encryption mode = <unencrypted>
Cache size = 10000


Понятно, там dll статическая и устаревшая (у меня ведь 10.1), в своём проекте я подключаю свежую dll динамически.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054559
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В рабочем проекте так:

[Content]
================================
Connection definition parameters
================================
Extensions=true
DriverID=SQLite
Database=file::memory:?cache=shared
================================
FireDAC info
================================
Tool = RAD Studio 10.1 Berlin
FireDAC = 15.0.1 (Build 86746)
Platform = Windows 32 bit
Defines = FireDAC_NOLOCALE_META;FireDAC_MONITOR
================================
Client info
================================
Loading driver SQLite ...
DLL = C:\SQLite\sqlite3.dll
Client version = 3.34.1
Compile options = COMPILER=gcc-5.2.0;ENABLE_COLUMN_METADATA;
ENABLE_FTS3;ENABLE_FTS5;ENABLE_JSON1;ENABLE_RTREE;
THREADSAFE=1
================================
Session info
================================
Failed to connect to DBMS !
[FireDAC][Phys][SQLite] ERROR: unable to open database file
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054568
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
См SQLITE_USE_URI:
https://www.sqlite.org/compile.html

Если USE_URI отсутствует в "Compile options", то поддержки URI "file:xxx" нет.
В 10.4.2 все работает по умолчанию. Во всех твоих случаях - поддержки нет.
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054572
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

спасибо, заработало!
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40054747
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удачи !
PS: Не компиляй, чего не знаешь ...
...
Рейтинг: 0 / 0
SQLite многопоточный доступ к базе в памяти (через FireDAC)
    #40062232
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий, а есть возможность в FD в 10.4.2 включить опции SQLITE_CONFIG_MULTITHREAD и SQLITE_OPEN_FULLMUTEX

https://www.sqlite.org/compile.html#threadsafe

Сейчас при доступе из разный потоков через назные соединения вылетают рандомные ошибки. Shared cache отключено, locking = normal.
...
Рейтинг: 0 / 0
63 сообщений из 63, показаны все 3 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / SQLite многопоточный доступ к базе в памяти (через FireDAC)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]