Установка этого параметра на 22.0 помогла мне.
blockquote>Версия 22.0 не исправила проблему для меня, но 19.0 сделал.
compile group: 'com.google.guava', name: 'guava', version: '19.0'
Это будет сделано по запросу, возможно, несколько раз в день. То, как я увижу, работает, как в http://sqlite.1065341.n5.nabble.com/Attempting-to-merge-large-databases-td39548.html , где базы данных объединены в большой БД, выполненный запрос, а затем удалена большая база данных.
Подводя итог из сообщения Nabble в ответе DavidM:
attach 'c:\test\b.db3' as toMerge;
BEGIN;
insert into AuditRecords select * from toMerge.AuditRecords;
COMMIT;
detach toMerge;
Повторите при необходимости.
Примечание: добавлено detach toMerge;
согласно комментариям майка.
Если вам нужно выполнить операцию слияния только один раз (для создания новой более крупной базы данных), вы можете создать скрипт / программу, которая будет зацикливать все ваши базы данных sqlite и затем вставить данные в основную (большую) базу данных.
Без обид, как один разработчик другому, я боюсь, что ваша идея кажется ужасно неэффективной. Мне кажется, что вместо объединения баз данных SQLite вы, вероятно, должны хранить несколько таблиц в одном файле базы данных.
Однако, если я ошибаюсь, я думаю, вы могли бы использовать ATTACH базы данных, а затем использовать VIEW для упрощения ваши запросы. Или сделайте таблицу в памяти и скопируйте все данные (но это даже худшая производительность, особенно если у вас большие базы данных)