#0
by romix
Плагин выводит предупреждение MessageBox перед открытием (при чтении) и перед закрытием (при записи) файла 1Cv77.dat. Цель - лечение проблемы с большими (несколько Гб) выгрузками, которые не может правильно обработать штатная библиотека для работы с ZIP-файлами от 1С.
#0
by romix
Плагин выводит предупреждение MessageBox перед открытием (при чтении) и перед закрытием (при записи) файла 1Cv77.dat. Цель - лечение проблемы с большими (несколько Гб) выгрузками, которые не может правильно обработать штатная библиотека для работы с ZIP-файлами от 1С.
#0
by romix
Плагин выводит предупреждение MessageBox перед открытием (при чтении) и перед закрытием (при записи) файла 1Cv77.dat. Цель - лечение проблемы с большими (несколько Гб) выгрузками, которые не может правильно обработать штатная библиотека для работы с ZIP-файлами от 1С.
#2
by FreeFin
Маладца, как всегда! Но а когда сам паковать/распаковывать будет, иль на том и остановишься?
#7
by Злопчинский
есть бесплатные компоненты Перевел систему на бесплатные компоненты UnRar.dll и zLibEx. может это то что надо?
#8
by mikecool
еще 5 баллов в копилку. Научи еще систему разбивать дат на куски и отдельно запаковывать :-)
#14
by romix
Сейчас попробую на большой (3 Гб выгрузка SQL) базе запустить (на маленькой-то все работает...).
#16
by romix
Потестил на большой базе - предел оказался не превышен (из трехгиговой базы получился текстовик DAT 438К). Все вроде без ошибки жужжит. Попробую нагенерить если никто (например TasStas) отзыв не напишет, работает ли с неск.-гиговой выгрузкой.
#19
by VasilyKushnir
Если база 9,2 гига устроит могу протестировать. Только вот сколько времени эта бодяга у меня шаманить будет?
#21
by romix
Если проблема только в зипе (а не где-то еще глубже в 1С), то она должна вылечиться. (19, 20) Если получится это запустить, то будет здорово.
#23
by pavel_tr
Не :-) Выгрузила щас все справочники + 4й док, ДАТ уже 2,7 Гб. Полдела сделано, джём-с
#24
by pavel_tr
Итак, всё не так просто оказалось! Выгрузил базу, ДАТ файл получился 3,71 Гб. Далее стал загружать в пустую базу ДБФ. Загрузила справочники, на втором виде доков выдала ошибку: --------------------------- Конфигуратор --------------------------- Ошибка поиска в файле an unnamed file --------------------------- OK --------------------------- Вспомнил! Поднимал тему Теперь ясно однозначно, проблема именно в том, как 1С загружает данные! Ограничение архиватора преодолимо(либо патчем, либо как я делал в той теме), но при загрузке всё одно вывалит ошибку
#25
by romix
А если в пустую базу SQL? Может, там ограничение на гиговый размер файла DBF срабатывает?
#28
by romix
"При этом если система эксплуатируется в однопрограммном режиме, то размер файла может быть 2 гигабайта, однако если появится второй пользователь, а файл будет больше 1 гигабайта, то система 1С начинает сбоить по ЧТЕНИЮ" (с) hogik
#29
by pavel_tr
вот ведь! У нас так и случилось на ДБФ! А все твердили про 2Гб-ограничение = Гружу в SQL, пока нормально
#31
by pavel_tr
CDX при загрузке 1С создаёт ПОСЛЕ того как загружены ВСЕ данные. До индексации даже не дошла - выдала и осталась в конфигураторе
#32
by pavel_tr
+ возможно индекс для 590Мб ДБФки был бы больше 1 Гб, и 1Сина это просчитала? Думаю, загрузка в SQL должна прояснить
#34
by pavel_tr
Интересно! Вылетела на том же документе, по счетчику загрузила раза в два его больше (для ДБФ было значение 37 000, сейчас 60 000), и сообщение другое: --------------------------- Конфигуратор --------------------------- Ошибка загрузки данных! --------------------------- OK ---------------------------
#35
by Gepard
Раньше пробовали менять файл, все равно с ошибкой вылетала, так что здесь проблема в 1С, а не только в сжатии... Такое ощущение, что она и не пытается загрузить данные более 2GB (т.е. начинает, а как начинает грузить более этого размера выдает ошибку)
#38
by pavel_tr
надеюсь получицца. Проблема очень насущная, и очень уж давно известна... Рад буду потестить ещё
#39
by romix
Там многократно вызывается SetFilePointer с шагом 512 байт. Относительно позиции FILE_BEGIN. :-) Может его отрубить тогда все сработает :-)
#41
by Злопчинский
Не, просто втупую отрубить - это сильно.. а вдруг где косяк вылезет... там что, при "суммировании" по 512 байт идет где-то "переполнение"...? и указатель позиционируется не туда куда надо...?
#42
by romix
Проверил (сравнивал пред. и след. позицию), там суммирование идет по 512 байт. Вызовы идут примерно так: То есть, все вызовы SetFilePointer - бесполезные... Исходят из mfc42.dll Можно отрубать имхо.
#44
by romix
Выложил обновленную версию, в которой отрублен вызов , т.к. чтение там строго последовательное. Ссылка прежняя. Можно обновить только plugin_unload_dat_fix.dll Проверил на своей базе (к сожалению у меня нет большой базы с неск-гиговым DAT).
#49
by romix
Я нагенерил данных, DAT 2,5 гига. При выгрузке надо переименовывать DAT (когда появится окно предупреждения) и подставить вместо него пустой (или почти пустой) файл с тем же именем. При загрузке надо подставить вместо него правильный DAT. Выгрузка и загрузка в одну и ту же базу у меня не получалась, пока я не создавал базу заново, или не делал Детач-Аттач. Обновил немножко еще dll - убрал отключение SetFilePointer в режиме записи (выгрузки) DAT. Ссылка та же.
#50
by Морозов Александр
как-то все недоделано... ну уже бы прикрутил бы и запуск стороннего архиватора
#52
by zaki
Лучше бы настройку запуска внешнего батника сделал бы чтобы не ручками подменять DAT файл
#53
by pavel_tr
+ Гружу ДАТ из . В новую ДБФ базу загрузилось! Никаких ошибок не выдавала, всё в порядке. Сейчас считает регистры, думаю прервать и попробовать в новую SQL базу подгрузить. ДБФ-файл движения (самый большой) получился 1,5 Гб, так что думаю, что ждать пересчёта смысла нет - всё равно вылетит. Про SQL потом расскажу
#54
by romix
Архивировать большие базы не всегда хорошо... Ждать порой долго, и место на винте (если все происходит в пределах одного компа) не экономится, а наоборот... Могу запрос имени DAT-файла сделать при загрузке, и вопрос писать его в ZIP или переименовывать/замещать пустышкой при выгрузке.
#55
by zaki
ну обычно потом архивы на болванку пишутся а не на диске хранятся а так можно и сжать по быстрому ....
#56
by romix
Ну дык большие базы полезнее архивировать сиквельными средствами... При этом юзеров не надо выгонять, и можно делать фоновые архивы в течение дня.
#57
by pavel_tr
ИМХО выгрузка-загрузка для больших баз нужна только для лечения глюков в данных, и архивирование тут вообще ни к чему
#61
by pavel_tr
У нас как только регистр остатков (RG) перевалил за 1 Гб, перестал открываться период, ругалась на битый индекс. + Загрузила! Индексует щас... Не знаю, сколько ещё ждать, пока регистры посчитает (дождусь), но думаю, что уже можно ставить разработке 5+! Спасибо огромное, Роман, каждый патч - просто как бальзам на жирное туловище платформы!
#63
by andrewalexk
:) а у меня запуск, выгрузка нормально, а при загрузке произвольной выгрузкой, после замены дат файла начинает создавать процедуры, но после "загрузка системной информацией" выдает ошибку загрузки.. и в readme файле ничего про начальный файл загрузки нет..
#64
by romix
Если в ту же базу SQL загружаешь, то у меня она валится если не сделать детач-аттач, или не пересоздать базу SQL. Перезагрузка компа не помогает. Что это за явление, я затрудняюсь сходу сказать.
#70
by pavel_tr
я вообще MD-шник скопировал и в DAT переименовал, потом в архив сунул. Разницы же нет, всё равно подменяем его
#71
by romix
Я наверное лучше автоматизирую этот процесс (переименование DAT и подкладывание вместо него пустышки), а то я сам не сразу допер что надо делать :-)
#77
by romix
Я обновил программу, там сейчас идет выгрузка DAT (по запросу) в определенный файл (в ZIP остается пустышка от DAT). При загрузке можно выбрать этот файл DAT (отказ от выбора файла = штатное поведение 1С).
#80
by romix
Может место на диске кончилось? Или файл превысил 2Гб (или 1 Гб, там какой-то предел есть).
#81
by pavel_tr
Чего-то третья версия плугина не сработала! До этого тестил вторую, на копии всё безупречно отрабатывало. Сейчас третью пробовал (текущую) - очень удобно с диалогами, это да. Файл выгрузки получился 4,01 Гб (до этого был 3,71 Гб), см , и в самом конце загрузки на предпоследнем доку выдала "Ошибка загрузки данных". Это чтож, получается есть ещё и ограничение на ДАТ-файл в 4 Гб?? romix, у тебя не осталось второй версии плугина? Может с ним загрузит правильно, у меня его не осталось = 24
#82
by pavel_tr
+ Предел существует. Сделал удаление помеченных объектов (как раз накопились), снова сделал выгрузку (ДАТ файл получился ровно 4 Гб). При загрузке выдала ту же ошибку, но тот вид дока, что вылетел в прошлой загрузке - загрузился, ошибка вышла на последнем документе. Самое обидное, что по счётчику (в строке состояния) не хватило буквально чуть-чуть = (при выгрузке он поднимался до 700, при загрузке тоже поднялся до 700 и отвалился, видимо совсем коппек не хватило). Роман, можно с этим что-нибудь сделать?
#86
by Sasha_H
Насколько я понял, то предела недолжно быть ... Дат файл весит 3,7Гб вконце как и говорится в инструкции спросило Ромикс использовать при сохранении я говорю да все, оно запаковало и в конце сказало, что в архив бросило пустой файл, потом делал загрузку и вот тебя пожалуйста ошибка. Так что именно ты переборол, я думал, что независимость размера ДАТ-файла :) места на диске хватает, разве он распаковывается на 50Гб :) система НТФС.
#87
by Морозов Александр
Writing to File C:TestRA3612.DBF Ошибка записи в файл... причем здесь Dat файл?
#89
by Лефмихалыч
к трёпу про сжатие. Ежли subj на дельфях, то вот халявная ВКЛ-ина которая крют зипом
#91
by romix
А база сиквельная, куда загружаешь? А то в DBF-ной ограничение то ли на 2 гига, то ли на 1 гиг (как утверждает некто hogik) на каждый файл.
#92
by pavel_tr
гружу в чистую SQL-базу. Потому и заговорил про ограничение: 1.При ДАТ-файле 3,71 Гб загрузилось 2.При ДАТ-файле 4,01 Гб вылетело на предпоследнем виде дока 3.При ДАТ-файле 4 Гб вылетело на последнем виде дока. Т.е. предпоследний был загружен целиком (а их мало в базе, этих доков, и последнего, и предпоследнего, их относительно недавно ввели, ещё нашлёпать юзвери не успели в большом количестве), а последний (причём не в полном объёме) оказался уже за каким-то "пределом"
#93
by Лефмихалыч
да суета это все и не серьезно, на таких объемах проще скульным BACKUP/RESTORE DATABASE пользоваться и не лохматить бабушку. И быстре и правильнее
#98
by pavel_tr
я объясню как. У нас базой достаточно долго никто не занимался, поэтому когда переходили на SQL она стала уже слишком большой для выгрузки-загрузки. Выкрутились тем, что убили 2 доп.регистра (ДАТ-файл был ровно 2 Гб, успели в самый последний момент - плагина тогда не было ещё), а потом перепроводили документы за 2 года (тогда были введены эти регистры). Сейчас живём на сиквеле, встал вопрос об обрезке. В принципе и сейчас можно обрезать, на копии уже всё оттестировал, но к примеру - в одном регистре (измерения: накладная,вид оплаты, клиент + ресурс: сумма) есть глючные данные (начиная с 1997 года по остаткам переходит сумма по клиенту, которая хз откуда взялась, а поле накладная пустое). Соответственно, при свёртке по этому клиенту остатки получаются неправильными. Если сделать выгрузку-загрузку конкретно этот, и многие подобные глюки можно вылечить
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- База работает быстрее после выгрузки и загрузки .dt в MSSQL 2005
- КД2: игнорирует период выгрузки при выгрузки данных из конфигурации на базе v8.0
- v7: плагин romix'а для лечения выгр. больших баз
- v7: Проблема с плагином лечения больших баз от Ромикса
- ПлАгин или плагИн? Куда вы "ударяете"?
- УПП 1,3, ЗУП 2,5 Как отразить отпуск на период санаторно курортного лечения?
В этой группе 1С
- Как разместить флажок в табличном поле
- v7: Как преобразовать строку в дату!
- ADO и кодировка ДБФ
- Симплекс-метод решения задач линейного программирования
- v8: Запрос работает в консоли а в программе нет
- КИС ERP-класса iRenaissance корпорации ROSS Systems
- Не виден НДС при принятии к учету ОС
- Как получить значение поля типа "счет"? (перенос из 1с в 1с с помощью OLE)
- Перенумерация документов. Как реализовать?
- v7: Ошибка печати: Неверный дескриптор
- 1С 8.1 Web-сервисы и apache 2.0
- Как войти в локальную сеть в openSUSE?
- Как подружить HASP, 1С v7.7 и Windows 2003 Terminal Server ?
- v8: Народ, спасайте. Хлопнулась база 1CD.
- Настройка параметров базы 1с sql
- CallAsFunc(long lMethodNum,VARIANT *pvarRetValue,SAFEARRAY **paParams)
- Экспорт данных из 1С в SAP
- Слетает AutoAdminLogon!?
- Регистр накопления - не найдена таблица
- Перенос справочника "сотрудники" из Камин: зарплата 2.х в Камин: зарплата 3