Мобильное приложение (iPad 2 | 3): Ошибка СУБД: Ошибка записи файла базы данных #756789


#0 by OldmaN2
Доброго времени суток! Проблема в следующем: существует мобильное приложение установленное на iPad 3, которое загружает в себя данные из базы данных, а также синхронизируется с яндекс диском, для загрузки фото к номенклатуре. Случилось так, что номенклатуры стало много и база с учётом фотографий превысила размер 3.8Гб, теперь при попытке до-грузить ещё чего-нибудь при синхронизации приложение попусту вылетает, а при попытке обновить конфигурацию выдаёт следующую ошибку: Ошибка СУБД: Ошибка записи файла базы данных (возможно нет места на диске) 'Library/Ссылка/1Cv8.1CD На диске ещё свободно 46Гб!! Пробовал проводить полную синхронизацию на iPad'ах послабее, так же на mini-iPad'е, там база может вырасти только до 2.1Гб, а потом начинается тоже самое, при наличии кучи свободного места! Сначала думал, что за ограничения отвечает объём оперативки, однако оперативки в первом случае 1Гб, во втором 512 Мб.... Хотелось бы понять природу данных ограничений, если кто сталкивался, а также возможные лекарства для устранения ограничений, если таковы имеются!
#1 by rphosts
На файловую ИБ есть ограничения по размеру самой ИБ (4Г максимум на 1 таблицу), для мобильной возможно и меньше того. Перепишите решение: храните картинки в отдельном каталоге а не в базе.
#2 by Антириус
фото грузятся в базу?
#3 by capllary_surgut
Скорее проблема в другом. На том разделе в iOS, куда пытаются произвести запись действительно нет места. Как вариант, поставить на iOS terminal и помониторить свободное место по разделам.
#4 by OldmaN2
когда файл не превышает объёмов указанных выше, то всё грузится на ура! А сейчас при попытке записать что-нибудь в файл базы процесс заканчивается либо вылетом базы, либо ошибкой.... сейчас попробую!
#5 by klis
Вроде у бинарника iOS ограничение на размер 4Гб. Может в этом дело?
#6 by rphosts
база для мобильного - отдельный файл (почти та-же самая файловая база) и она не бинарник.
#7 by OldmaN2
на iPad2 допускается объём 2.1Гб, а больше записывать ничего не даёт и начинаются те же пляски...
#8 by DitriX
Вроде как решение очевидно - выгрузить фото из базы :) Но я так и не понял - пробовали ли вы это сделать?
#9 by OldmaN2
)))) конечно это решение, но ведь я спрашивал о другом, быть может кто знает, как ещё можно обойти ограничения.... ведь если оно существует, то получается, что имея данные более чем на 3.8Гб, пусть даже это будут обычные таблицы, то о работе с такой базой в мобильном приложении можно забыть....
#10 by DitriX
вы понимаете, тут одна проблемка, которая заключается в том, что мобильная платформа - это не стациоанрная. И на правктике - там не надо столько данных, ну т.е. вообще нафиг не надо. Если вы используете такой объекм данных, значит вы где то просчитались в архитектуре вашего решения. Поэтому я бы посоветовал пересмотреть архитектуру, а не думать не пойми о чем. Сейчас это выглядит так - "я вот тут придумал свой костыль, но он не работает - почему? И видь если другие сделают такой костыль, то тоже работать не будет. А это не хорошо". Я думаю намек ясен :)
#11 by Антириус
все-таки загружается в базу... Основной вопрос - нафига? Для отображения каждой картинки программе приходится кучу лишних действий делать. +100500
#12 by OldmaN2
А где есть инфа об ограничениях? Я понимаю, что в идеале мобильное приложение - есть лайтовое решение, однако нигде не встречал информации о том, что приложение имеет ограничения в объёмах базы данных. Существует два пути: 1) Постараться понять с чем может быть связано данное ограничение. Если предположить, что причина на стороне устройства, то быть может существует хитрая настройка, которая это ограничение уберёт; 2) Перенести фото на устройство вне базы данных. Исключить первое возможно, если точно понимать, что ничего сделать невозможно и по каким причинам, второе в свою очередь я не отсекаю! P.S.: При попытках обновить конфигурацию база каждый раз растёт, т.е. по видимому в файле формируется бэкап, который затем должен лечь поверх, но так как обновление заканчивается ошибкой, то бэкап остаётся в теле файла.... В общем у меня сейчас база 8Гб весит и после каждой попытки увеличивается на 2Гб.... из этого следует, что приложению дан доступ на хранение этого объёма данных, не приложу ума, что мешает ему загружать данные, при наступлении порога в 3.8Гб.
#13 by DitriX
вытащите базу и проверьте прогой чекдб, а потом всуньте обратно
#14 by klis
Ктой-та вам на iOS разрешил отдельные файлы записывать?! Это вам не андроиды ваши)) Музыка, фотки, видео - это отдельные файлы (и то условно), а каждое приложение - изолированный контейнер, размер которого не может быть больше 4Гб. Хотя не настаиваю, могу ошибаться. А версия операционки та же? Там до какого-то момента (~2013) было как раз ограничение в 2Гб.
#15 by DitriX
чето я не врубаюсь, у меня фильмов гигов на 20, в одной проге, и ничего. А вообще - складывайте в каталог документов фотки
#16 by klis
Так фильмы-то, я полагаю, как медиафайлы хранятся, а не внутри контейнера приложения.
#17 by DitriX
именно в каталоге приложения, с помощью iTools туда их лью
#18 by aka AMIGO
Присмотрись к iExplorer, ИМХО - достойный соперник iTools"у
#19 by DitriX
я вообще продукцию с яблоком не перевариваю, это так, для записи курсов планшет, ну иногда удобно взять два планшета в дорогу, на Nokia хорошо работать, а на ipade - смотреть фильмы. Особенно если зарядок не предвидится. Но за мысль спасибо.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С