|
Мобильное приложение (iPad 2 | 3): Ошибка СУБД: Ошибка записи файла базы данных | ☑ | ||
---|---|---|---|---|
0
OldmaN2
27.10.15
✎
07:26
|
Доброго времени суток! Проблема в следующем: существует мобильное приложение установленное на iPad 3, которое загружает в себя данные из базы данных, а также синхронизируется с яндекс диском, для загрузки фото к номенклатуре. Случилось так, что номенклатуры стало много и база с учётом фотографий превысила размер 3.8Гб, теперь при попытке до-грузить ещё чего-нибудь при синхронизации приложение попусту вылетает, а при попытке обновить конфигурацию выдаёт следующую ошибку: Ошибка СУБД: Ошибка записи файла базы данных (возможно нет места на диске) 'Library/Ссылка/1Cv8.1CD
На диске ещё свободно 46Гб!! Пробовал проводить полную синхронизацию на iPad'ах послабее, так же на mini-iPad'е, там база может вырасти только до 2.1Гб, а потом начинается тоже самое, при наличии кучи свободного места! Сначала думал, что за ограничения отвечает объём оперативки, однако оперативки в первом случае 1Гб, во втором 512 Мб.... Хотелось бы понять природу данных ограничений, если кто сталкивался, а также возможные лекарства для устранения ограничений, если таковы имеются! |
|||
1
rphosts
27.10.15
✎
07:49
|
На файловую ИБ есть ограничения по размеру самой ИБ (4Г максимум на 1 таблицу), для мобильной возможно и меньше того.
Перепишите решение: храните картинки в отдельном каталоге а не в базе. |
|||
2
Антириус
27.10.15
✎
07:57
|
(0) фото грузятся в базу?
|
|||
3
capllary_
surgut 27.10.15
✎
08:00
|
Скорее проблема в другом. На том разделе в iOS, куда пытаются произвести запись действительно нет места.
Как вариант, поставить на iOS terminal и помониторить свободное место по разделам. |
|||
4
OldmaN2
27.10.15
✎
08:41
|
(2) когда файл не превышает объёмов указанных выше, то всё грузится на ура! А сейчас при попытке записать что-нибудь в файл базы процесс заканчивается либо вылетом базы, либо ошибкой....
(3) сейчас попробую! |
|||
5
klis
27.10.15
✎
08:53
|
(0) Вроде у бинарника iOS ограничение на размер 4Гб. Может в этом дело?
|
|||
6
rphosts
27.10.15
✎
09:00
|
(5) база для мобильного - отдельный файл (почти та-же самая файловая база) и она не бинарник.
|
|||
7
OldmaN2
27.10.15
✎
09:40
|
(5) на iPad2 допускается объём 2.1Гб, а больше записывать ничего не даёт и начинаются те же пляски...
|
|||
8
DitriX
27.10.15
✎
10:46
|
Вроде как решение очевидно - выгрузить фото из базы :)
Но я так и не понял - пробовали ли вы это сделать? |
|||
9
OldmaN2
27.10.15
✎
10:55
|
(8) )))) конечно это решение, но ведь я спрашивал о другом, быть может кто знает, как ещё можно обойти ограничения.... ведь если оно существует, то получается, что имея данные более чем на 3.8Гб, пусть даже это будут обычные таблицы, то о работе с такой базой в мобильном приложении можно забыть....
|
|||
10
DitriX
27.10.15
✎
11:46
|
вы понимаете, тут одна проблемка, которая заключается в том, что мобильная платформа - это не стациоанрная. И на правктике - там не надо столько данных, ну т.е. вообще нафиг не надо. Если вы используете такой объекм данных, значит вы где то просчитались в архитектуре вашего решения.
Поэтому я бы посоветовал пересмотреть архитектуру, а не думать не пойми о чем. Сейчас это выглядит так - "я вот тут придумал свой костыль, но он не работает - почему? И видь если другие сделают такой костыль, то тоже работать не будет. А это не хорошо". Я думаю намек ясен :) |
|||
11
Антириус
27.10.15
✎
12:23
|
(4) все-таки загружается в базу...
Основной вопрос - нафига? Для отображения каждой картинки программе приходится кучу лишних действий делать. (10) +100500 |
|||
12
OldmaN2
27.10.15
✎
12:54
|
(10) А где есть инфа об ограничениях? Я понимаю, что в идеале мобильное приложение - есть лайтовое решение, однако нигде не встречал информации о том, что приложение имеет ограничения в объёмах базы данных. Существует два пути:
1) Постараться понять с чем может быть связано данное ограничение. Если предположить, что причина на стороне устройства, то быть может существует хитрая настройка, которая это ограничение уберёт; 2) Перенести фото на устройство вне базы данных. Исключить первое возможно, если точно понимать, что ничего сделать невозможно и по каким причинам, второе в свою очередь я не отсекаю! P.S.: При попытках обновить конфигурацию база каждый раз растёт, т.е. по видимому в файле формируется бэкап, который затем должен лечь поверх, но так как обновление заканчивается ошибкой, то бэкап остаётся в теле файла.... В общем у меня сейчас база 8Гб весит и после каждой попытки увеличивается на 2Гб.... из этого следует, что приложению дан доступ на хранение этого объёма данных, не приложу ума, что мешает ему загружать данные, при наступлении порога в 3.8Гб. |
|||
13
DitriX
27.10.15
✎
14:31
|
(12) вытащите базу и проверьте прогой чекдб, а потом всуньте обратно
|
|||
14
klis
27.10.15
✎
15:42
|
(6) Ктой-та вам на iOS разрешил отдельные файлы записывать?! Это вам не андроиды ваши)) Музыка, фотки, видео - это отдельные файлы (и то условно), а каждое приложение - изолированный контейнер, размер которого не может быть больше 4Гб. Хотя не настаиваю, могу ошибаться.
(7) А версия операционки та же? Там до какого-то момента (~2013) было как раз ограничение в 2Гб. |
|||
15
DitriX
27.10.15
✎
17:20
|
(14) чето я не врубаюсь, у меня фильмов гигов на 20, в одной проге, и ничего.
А вообще - складывайте в каталог документов фотки |
|||
16
klis
28.10.15
✎
12:06
|
(15) Так фильмы-то, я полагаю, как медиафайлы хранятся, а не внутри контейнера приложения.
|
|||
17
DitriX
29.10.15
✎
14:43
|
(16) именно в каталоге приложения, с помощью iTools туда их лью
|
|||
18
aka AMIGO
29.10.15
✎
14:44
|
(17) Присмотрись к iExplorer, ИМХО - достойный соперник iTools"у
|
|||
19
DitriX
01.11.15
✎
21:02
|
(18) я вообще продукцию с яблоком не перевариваю, это так, для записи курсов планшет, ну иногда удобно взять два планшета в дорогу, на Nokia хорошо работать, а на ipade - смотреть фильмы. Особенно если зарядок не предвидится.
Но за мысль спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |