|
Плагин для лечения выгрузки и загрузки больших баз в 1С 7.7 ₽ | ☑ | ||
---|---|---|---|---|
0
romix
модератор
23.02.07
✎
15:06
|
Плагин выводит предупреждение MessageBox перед открытием (при чтении) и перед закрытием (при записи) файла 1Cv77.dat. Цель - лечение проблемы с большими (несколько Гб) выгрузками, которые не может правильно обработать штатная библиотека для работы с ZIP-файлами от 1С.
Книга знаний: Плагин для лечения выгрузки и загрузки больших баз в 1С 7.7 |
|||
2
FreeFin
23.02.07
✎
15:17
|
(0) Маладца, как всегда! Но а когда сам паковать/распаковывать будет, иль на том и остановишься?
|
|||
3
pavel_tr
23.02.07
✎
15:19
|
Спасибо огромное! Очень нужная штука!!!
|
|||
4
leshikkam
23.02.07
✎
15:46
|
Спасибо!
|
|||
5
romix
23.02.07
✎
16:14
|
(2) затрудняюсь найти правильную DLL для ZIP. Они вообще есть в природе? :-)
|
|||
6
Злопчинский
23.02.07
✎
16:18
|
правильную - это какую?
|
|||
7
Злопчинский
23.02.07
✎
16:20
|
есть бесплатные компоненты
Перевел систему на бесплатные компоненты UnRar.dll и zLibEx. может это то что надо? |
|||
8
mikecool
23.02.07
✎
16:23
|
(0) еще 5 баллов в копилку.
Научи еще систему разбивать дат на куски и отдельно запаковывать :-) |
|||
9
FreeFin
23.02.07
✎
16:37
|
(5) Покопать на http://www.compression.ru, прочем, кому я советую)))
|
|||
10
toypaul
гуру
23.02.07
✎
17:43
|
полезная штука
|
|||
11
toypaul
гуру
23.02.07
✎
17:47
|
написал у себя в новостях :)
http://www.1csql.ru/materials/news.html~39a00f29-395c-2da0-4680-09be28cf08c1 |
|||
12
romix
23.02.07
✎
17:52
|
Блин подождите рекламировать еще проверить надо. :-)
|
|||
13
ASV
23.02.07
✎
18:02
|
1С использует http://www.zlib.net/
|
|||
14
romix
23.02.07
✎
18:26
|
Сейчас попробую на большой (3 Гб выгрузка SQL) базе запустить (на маленькой-то все работает...).
|
|||
15
andrey995
23.02.07
✎
21:47
|
Роман, респект !!!
|
|||
16
romix
23.02.07
✎
22:26
|
Потестил на большой базе - предел оказался не превышен (из трехгиговой базы получился текстовик DAT 438К). Все вроде без ошибки жужжит.
Попробую нагенерить если никто (например TasStas) отзыв не напишет, работает ли с неск.-гиговой выгрузкой. |
|||
17
Gepard
24.02.07
✎
09:52
|
(0) а разве подменой это лечится?
|
|||
18
Gepard
24.02.07
✎
09:56
|
(17) + или 1С сама в конце этот файл портит?
|
|||
19
VasilyKushnir
24.02.07
✎
11:13
|
Если база 9,2 гига устроит могу протестировать. Только вот сколько времени эта бодяга у меня шаманить будет?
|
|||
20
pavel_tr
24.02.07
✎
12:51
|
База 25 Гб, SQL. Щас потестим...
|
|||
21
romix
24.02.07
✎
13:50
|
(17) Если проблема только в зипе (а не где-то еще глубже в 1С), то она должна вылечиться.
(19, 20) Если получится это запустить, то будет здорово. |
|||
22
ASV
24.02.07
✎
14:03
|
(20) щас 25 в один гиг свернет :)
|
|||
23
pavel_tr
24.02.07
✎
14:06
|
(22) Не :-) Выгрузила щас все справочники + 4й док, ДАТ уже 2,7 Гб. Полдела сделано, джём-с
|
|||
24
pavel_tr
24.02.07
✎
15:39
|
Итак, всё не так просто оказалось!
Выгрузил базу, ДАТ файл получился 3,71 Гб. Далее стал загружать в пустую базу ДБФ. Загрузила справочники, на втором виде доков выдала ошибку: --------------------------- Конфигуратор --------------------------- Ошибка поиска в файле an unnamed file --------------------------- OK --------------------------- Вспомнил! Поднимал тему ошибка поиска в файле an unnamed file Теперь ясно однозначно, проблема именно в том, как 1С загружает данные! Ограничение архиватора преодолимо(либо патчем, либо как я делал в той теме), но при загрузке всё одно вывалит ошибку |
|||
25
romix
24.02.07
✎
15:55
|
(24) А если в пустую базу SQL? Может, там ограничение на гиговый размер файла DBF срабатывает?
|
|||
26
pavel_tr
24.02.07
✎
15:56
|
(25) сейчас попробую в SQL
|
|||
27
pavel_tr
24.02.07
✎
15:57
|
+(25) хотя загруженная ДБФка (самая большая) - всего 590 Мб =\
|
|||
28
romix
24.02.07
✎
16:03
|
"При этом если система эксплуатируется в однопрограммном режиме, то размер файла может быть 2 гигабайта, однако если появится второй пользователь, а файл будет больше 1 гигабайта, то система 1С начинает сбоить по ЧТЕНИЮ" (с) hogik
|
|||
29
pavel_tr
24.02.07
✎
16:08
|
(28) вот ведь! У нас так и случилось на ДБФ! А все твердили про 2Гб-ограничение =\
Гружу в SQL, пока нормально |
|||
30
romix
24.02.07
✎
16:08
|
(27) А CDX?
|
|||
31
pavel_tr
24.02.07
✎
16:10
|
CDX при загрузке 1С создаёт ПОСЛЕ того как загружены ВСЕ данные. До индексации даже не дошла - выдала (24) и осталась в конфигураторе
|
|||
32
pavel_tr
24.02.07
✎
16:11
|
+(31) возможно индекс для 590Мб ДБФки был бы больше 1 Гб, и 1Сина это просчитала? Думаю, загрузка в SQL должна прояснить
|
|||
33
romix
24.02.07
✎
18:24
|
Ну как накернилось на SQL?
|
|||
34
pavel_tr
24.02.07
✎
21:10
|
Интересно! Вылетела на том же документе, по счетчику загрузила раза в два его больше (для ДБФ было значение 37 000, сейчас 60 000), и сообщение другое:
--------------------------- Конфигуратор --------------------------- Ошибка загрузки данных! --------------------------- OK --------------------------- |
|||
35
Gepard
24.02.07
✎
21:20
|
(25) Раньше пробовали менять файл, все равно с ошибкой вылетала, так что здесь проблема в 1С, а не только в сжатии... Такое ощущение, что она и не пытается загрузить данные более 2GB (т.е. начинает, а как начинает грузить более этого размера выдает ошибку)
|
|||
36
Ангел- Хоронитель
24.02.07
✎
22:09
|
(0)ай да romix!!! ай да.... МОЛОДЕЦ!!!! :)
|
|||
37
romix
24.02.07
✎
22:34
|
(34) Обломинго. Попробую излечить...
|
|||
38
pavel_tr
25.02.07
✎
00:37
|
(37) надеюсь получицца. Проблема очень насущная, и очень уж давно известна... Рад буду потестить ещё
|
|||
39
romix
25.02.07
✎
02:08
|
Там многократно вызывается SetFilePointer
с шагом 512 байт. Относительно позиции FILE_BEGIN. :-) Может его отрубить тогда все сработает :-) |
|||
40
romix
25.02.07
✎
02:09
|
Пробую отрубать, вроде все загружает :-)
|
|||
41
Злопчинский
25.02.07
✎
02:18
|
Не, просто втупую отрубить - это сильно..
а вдруг где косяк вылезет... там что, при "суммировании" по 512 байт идет где-то "переполнение"...? и указатель позиционируется не туда куда надо...? |
|||
42
romix
25.02.07
✎
02:44
|
(41) Проверил (сравнивал пред. и след. позицию), там суммирование идет по 512 байт.
Вызовы идут примерно так: SetFilePointer(handle, 0, 0, FILE_CURRENT); SetFilePointer(handle, 0, 0, FILE_CURRENT); SetFilePointer(handle, 0, 0, FILE_CURRENT); SetFilePointer(handle, 512, 0, FILE_BEGIN); SetFilePointer(handle, 0, 0, FILE_CURRENT); SetFilePointer(handle, 0, 0, FILE_CURRENT); SetFilePointer(handle, 0, 0, FILE_CURRENT); SetFilePointer(handle, 1024, 0, FILE_BEGIN); ... SetFilePointer(handle, КонецФайла, 0, FILE_BEGIN); SetFilePointer(handle, КонецФайла, 0, FILE_BEGIN); То есть, все вызовы SetFilePointer - бесполезные... Исходят из mfc42.dll Можно отрубать имхо. |
|||
43
Злопчинский
25.02.07
✎
12:38
|
ну так результат-то какой?
все ок? |
|||
44
romix
25.02.07
✎
13:33
|
Выложил обновленную версию, в которой отрублен вызов (42), т.к. чтение там строго последовательное.
Ссылка прежняя. Можно обновить только plugin_unload_dat_fix.dll Проверил на своей базе (к сожалению у меня нет большой базы с неск-гиговым DAT). |
|||
45
NuF
25.02.07
✎
14:09
|
(0)(44) !!!!!!!!! Ай, молодца!!
|
|||
46
pavel_tr
26.02.07
✎
00:49
|
(44) отлично! Сейчас запущу загрузку, завтра напишу что получилось
|
|||
47
Злопчинский
26.02.07
✎
01:44
|
(46) Внимательно следим за вестями с фронта
|
|||
48
Obed
26.02.07
✎
03:05
|
(0) Ну давай зачотку, поставлю пятак!
(46) ждемс... |
|||
49
romix
26.02.07
✎
06:44
|
Я нагенерил данных, DAT 2,5 гига.
При выгрузке надо переименовывать DAT (когда появится окно предупреждения) и подставить вместо него пустой (или почти пустой) файл с тем же именем. При загрузке надо подставить вместо него правильный DAT. Выгрузка и загрузка в одну и ту же базу у меня не получалась, пока я не создавал базу заново, или не делал Детач-Аттач. Обновил немножко еще dll - убрал отключение SetFilePointer в режиме записи (выгрузки) DAT. Ссылка та же. |
|||
50
Морозов Александр
26.02.07
✎
06:51
|
как-то все недоделано... ну уже бы прикрутил бы и запуск стороннего архиватора
|
|||
51
Морозов Александр
26.02.07
✎
06:51
|
за разработку тройка тебе :-))
|
|||
52
zaki
26.02.07
✎
09:53
|
Лучше бы настройку запуска внешнего батника сделал бы чтобы не ручками подменять DAT файл
|
|||
53
pavel_tr
26.02.07
✎
10:04
|
+(46) Гружу ДАТ из (24). В новую ДБФ базу загрузилось! Никаких ошибок не выдавала, всё в порядке. Сейчас считает регистры, думаю прервать и попробовать в новую SQL базу подгрузить. ДБФ-файл движения (самый большой) получился 1,5 Гб, так что думаю, что ждать пересчёта смысла нет - всё равно вылетит. Про SQL потом расскажу
|
|||
54
romix
26.02.07
✎
10:09
|
(50) Архивировать большие базы не всегда хорошо... Ждать порой долго, и место на винте (если все происходит в пределах одного компа) не экономится, а наоборот...
(52) Могу запрос имени DAT-файла сделать при загрузке, и вопрос писать его в ZIP или переименовывать/замещать пустышкой при выгрузке. |
|||
55
zaki
26.02.07
✎
10:38
|
(54) ну обычно потом архивы на болванку пишутся а не на диске хранятся а так можно и сжать по быстрому ....
|
|||
56
romix
26.02.07
✎
11:20
|
(55) Ну дык большие базы полезнее архивировать сиквельными средствами...
При этом юзеров не надо выгонять, и можно делать фоновые архивы в течение дня. |
|||
57
pavel_tr
26.02.07
✎
11:30
|
ИМХО выгрузка-загрузка для больших баз нужна только для лечения глюков в данных, и архивирование тут вообще ни к чему
|
|||
58
romix
26.02.07
✎
11:43
|
(57) Ну и перенос в сиквель тоже, когда база до DBF-ного предела дорастает. :-)
|
|||
59
pavel_tr
26.02.07
✎
11:47
|
(58) лишь бы не переросла :-)
|
|||
60
romix
26.02.07
✎
12:19
|
По идее 32 бита - это же 4 гига, а приколы лезут уже с 2-х или с 1-го.
|
|||
61
pavel_tr
26.02.07
✎
12:37
|
У нас как только регистр остатков (RG) перевалил за 1 Гб, перестал открываться период, ругалась на битый индекс.
+(53) Загрузила! Индексует щас... Не знаю, сколько ещё ждать, пока регистры посчитает (дождусь), но думаю, что уже можно ставить разработке 5+! Спасибо огромное, Роман, каждый патч - просто как бальзам на жирное туловище платформы! |
|||
62
romix
26.02.07
✎
13:03
|
:-)
|
|||
63
andrewalexk
26.02.07
✎
16:33
|
(0)
:) а у меня запуск, выгрузка нормально, а при загрузке произвольной выгрузкой, после замены дат файла начинает создавать процедуры, но после "загрузка системной информацией" выдает ошибку загрузки.. и в readme файле ничего про начальный файл загрузки нет.. "что я не так делаю?"(с) |
|||
64
romix
26.02.07
✎
16:43
|
(63) Если в ту же базу SQL загружаешь, то у меня она валится если не сделать детач-аттач, или не пересоздать базу SQL. Перезагрузка компа не помогает. Что это за явление, я затрудняюсь сходу сказать.
|
|||
65
romix
26.02.07
✎
16:43
|
А после детач-аттач все работает.
|
|||
66
andrewalexk
26.02.07
✎
16:50
|
(64)
:) я в новую и чистую гружу.. а ты под какой выгрузкой начинаешь загружать? |
|||
67
romix
26.02.07
✎
16:58
|
Я начинаю загружать выгрузку с пустышкой (размер 1 байт) вместо dat.
|
|||
68
romix
26.02.07
✎
16:58
|
(66) Т.е. в зипе не файл dat, а одноименная пустышка размером 1 байт.
|
|||
69
romix
26.02.07
✎
16:59
|
А потом когда появляется окно, делаю подмену на нормальный dat.
|
|||
70
pavel_tr
26.02.07
✎
16:59
|
(67) я вообще MD-шник скопировал и в DAT переименовал, потом в архив сунул. Разницы же нет, всё равно подменяем его
|
|||
71
romix
26.02.07
✎
17:00
|
Я наверное лучше автоматизирую этот процесс (переименование DAT и подкладывание вместо него пустышки), а то я сам не сразу допер что надо делать :-)
|
|||
72
andrewalexk
26.02.07
✎
17:11
|
(71)
:) золотые слова! большинство же ожидает возможности автоматизации |
|||
73
Вильям
26.02.07
✎
17:38
|
(0) очередной раз респект и уважуха. Большое тебе спасибо.
|
|||
74
andrey995
27.02.07
✎
08:25
|
вместо апа... ждем новостей...
|
|||
75
Obed
28.02.07
✎
10:26
|
ну и я апну на всякий случай :)
|
|||
76
belant1c
21.03.07
✎
18:06
|
(71) Реально помогло и главное в кон :), огромное спасибо
|
|||
77
romix
модератор
22.03.07
✎
09:36
|
Я обновил программу, там сейчас идет выгрузка DAT (по запросу) в определенный файл (в ZIP остается пустышка от DAT).
При загрузке можно выбрать этот файл DAT (отказ от выбора файла = штатное поведение 1С). |
|||
78
andrewalexk
22.03.07
✎
11:16
|
(77)
:) бета тестирование начинается! |
|||
79
Sasha_H
23.03.07
✎
14:15
|
CODEBASE ERROR
Error# : -120 Writing to File C:\Test\RA3612.DBF Уже загрузило много и так лохонутся. |
|||
80
romix
модератор
23.03.07
✎
17:47
|
(79) Может место на диске кончилось? Или файл превысил 2Гб (или 1 Гб, там какой-то предел есть).
|
|||
81
pavel_tr
25.03.07
✎
00:17
|
Чего-то третья версия плугина не сработала! До этого тестил вторую, на копии всё безупречно отрабатывало. Сейчас третью пробовал (текущую) - очень удобно с диалогами, это да. Файл выгрузки получился 4,01 Гб (до этого был 3,71 Гб), см (24), и в самом конце загрузки на предпоследнем доку выдала "Ошибка загрузки данных". Это чтож, получается есть ещё и ограничение на ДАТ-файл в 4 Гб??
romix, у тебя не осталось второй версии плугина? Может с ним загрузит правильно, у меня его не осталось =\ |
|||
82
pavel_tr
26.03.07
✎
00:04
|
+(81) Предел существует. Сделал удаление помеченных объектов (как раз накопились), снова сделал выгрузку (ДАТ файл получился ровно 4 Гб). При загрузке выдала ту же ошибку, но тот вид дока, что вылетел в прошлой загрузке - загрузился, ошибка вышла на последнем документе. Самое обидное, что по счётчику (в строке состояния) не хватило буквально чуть-чуть =\ (при выгрузке он поднимался до 700, при загрузке тоже поднялся до 700 и отвалился, видимо совсем коппек не хватило).
Роман, можно с этим что-нибудь сделать? |
|||
83
romix
26.03.07
✎
01:09
|
(82) Нашел более старую версию, сейчас ее выложу туда же...
|
|||
84
romix
модератор
26.03.07
✎
01:26
|
(+83) Там теперь внутри папка v2 с более старой (и более простой) версией DLL.
|
|||
85
romix
26.03.07
✎
04:30
|
(82) А файловая система- NTFS?
А то у FAT32 по-моему предел 4 гига... |
|||
86
Sasha_H
26.03.07
✎
09:27
|
(79) Насколько я понял, то предела недолжно быть ... Дат файл весит 3,7Гб вконце как и говорится в инструкции спросило Ромикс использовать при сохранении я говорю да все, оно запаковало и в конце сказало, что в архив бросило пустой файл, потом делал загрузку и вот тебя пожалуйста ошибка. Так что именно ты переборол, я думал, что независимость размера ДАТ-файла :) места на диске хватает, разве он распаковывается на 50Гб :) система НТФС.
|
|||
87
Морозов Александр
26.03.07
✎
09:32
|
Error# : -120
Writing to File C:\Test\RA3612.DBF Ошибка записи в файл... причем здесь Dat файл? |
|||
88
Морозов Александр
26.03.07
✎
09:36
|
скороей всего как Ромикс сказал в 80 посте...
|
|||
89
Лефмихалыч
26.03.07
✎
09:52
|
(0) к трёпу про сжатие. Ежли subj на дельфях, то вот халявная ВКЛ-ина которая крют зипом
http://www.componentace.com/zip_component_zip_delphi_zipforge.htm |
|||
90
pavel_tr
26.03.07
✎
10:22
|
(85) Да, конечно NTFS. Попробую со второй версией и отпишу о результатах
|
|||
91
romix
модератор
26.03.07
✎
10:37
|
(90) А база сиквельная, куда загружаешь? А то в DBF-ной ограничение то ли на 2 гига, то ли на 1 гиг (как утверждает некто hogik) на каждый файл.
|
|||
92
pavel_tr
26.03.07
✎
10:42
|
(91) гружу в чистую SQL-базу. Потому и заговорил про ограничение:
1.При ДАТ-файле 3,71 Гб загрузилось 2.При ДАТ-файле 4,01 Гб вылетело на предпоследнем виде дока 3.При ДАТ-файле 4 Гб вылетело на последнем виде дока. Т.е. предпоследний был загружен целиком (а их мало в базе, этих доков, и последнего, и предпоследнего, их относительно недавно ввели, ещё нашлёпать юзвери не успели в большом количестве), а последний (причём не в полном объёме) оказался уже за каким-то "пределом" |
|||
93
Лефмихалыч
26.03.07
✎
10:45
|
(92) да суета это все и не серьезно, на таких объемах проще скульным BACKUP/RESTORE DATABASE пользоваться и не лохматить бабушку. И быстре и правильнее
|
|||
94
pavel_tr
26.03.07
✎
10:53
|
(92) выгрузка и загрузка это не то же самое, что BACKUP/RESTORE, вот в чём проблема!
|
|||
95
pavel_tr
26.03.07
✎
10:58
|
+(91) начал загрузку второй версией плагина. Посмотрим что получится
|
|||
96
romix
модератор
26.03.07
✎
11:03
|
(93) Да, но иногда надо переносить из большой DBF в SQL.
|
|||
97
Лефмихалыч
26.03.07
✎
11:06
|
(96) иногда - надо, только вот как (0) в этом поможет камраду pavel_tr?..
|
|||
98
pavel_tr
26.03.07
✎
11:54
|
(97) я объясню как. У нас базой достаточно долго никто не занимался, поэтому когда переходили на SQL она стала уже слишком большой для выгрузки-загрузки. Выкрутились тем, что убили 2 доп.регистра (ДАТ-файл был ровно 2 Гб, успели в самый последний момент - плагина тогда не было ещё), а потом перепроводили документы за 2 года (тогда были введены эти регистры). Сейчас живём на сиквеле, встал вопрос об обрезке. В принципе и сейчас можно обрезать, на копии уже всё оттестировал, но к примеру - в одном регистре (измерения: накладная,вид оплаты, клиент + ресурс: сумма) есть глючные данные (начиная с 1997 года по остаткам переходит сумма по клиенту, которая хз откуда взялась, а поле накладная пустое). Соответственно, при свёртке по этому клиенту остатки получаются неправильными. Если сделать выгрузку-загрузку конкретно этот, и многие подобные глюки можно вылечить
|
|||
99
pavel_tr
26.03.07
✎
13:02
|
Невероятно!!!!!! Со второй версией плагина (грузил тот же самый 4 Гб-шный ДАТник) индикатор дошёл до того же самого дока, что и в (82) И ПРОСТО ЗАКРЫЛСЯ! Нкаких сообщений об ошибке не было, молча отвалился и привет!
Роман, какие будут предположения? |
|||
100
pavel_tr
26.03.07
✎
13:05
|
+(99) в смысле конфигуратор закрылся, вот :-(
|
|||
101
pavel_tr
26.03.07
✎
13:18
|
Интересное кино, а в процессах 1Ска висеть-то осталась... Весело она отвалилась!
|
|||
102
pavel_tr
26.03.07
✎
15:07
|
Со второй попытки со старой версией плагина отвалилась уже не молча, а с той же ошибкой, что и раньше. Неужели нельзя этот глюк преодолеть?
|
|||
103
romix
модератор
26.03.07
✎
15:16
|
(99) ОК буду смотреть.
(102) А полностью текст ошибки как выглядит? (если взять его в буфер по Ctrl-C) |
|||
104
pavel_tr
26.03.07
✎
15:22
|
(103) Пасибо!
Могу 3й раз попробовать загрузить, если надо, но в (81) это дословно было: Красный кружочек с крестиком (т.е. сообщение об ошибке), текст: "Ошибка загрузки данных" и кнопка ОК, больше ничего. Попробуй, если есть возможность, сделай ДАТ файл больше 4 Гб, увидишь. Буду рад потестить новую версию плагина ;-) |
|||
105
romix
модератор
26.03.07
✎
15:26
|
(104) ок
|
|||
106
sliders
26.03.07
✎
16:41
|
Привет.
База в DBF 3,2Gb Хочу перевести в SQL Вот сейчас и потренеруемся :) p.s запустил тест. и испр. пока... |
|||
107
pavel_tr
26.03.07
✎
16:51
|
(106) ИМХО такая база выгрузится стандартными средствами 1С, ДАТ-файл явно меньше 2 Гб должен получиться
|
|||
108
pavel_tr
28.03.07
✎
13:04
|
Ну что, нет пока новостей?
|
|||
109
mcltd
29.03.07
✎
17:12
|
хорошая ветка, только вот где окончание? получилось или нет?
|
|||
110
mcltd
30.03.07
✎
17:07
|
АП
|
|||
111
romix
модератор
30.03.07
✎
18:08
|
э-э-э приеду домой посмотрю как оно выгружается...
|
|||
112
pavel_tr
02.04.07
✎
11:29
|
ап
|
|||
113
Иде я
02.04.07
✎
11:31
|
А плагин ускоряет выгрузку или тока лечит ?
|
|||
114
pavel_tr
02.04.07
✎
11:33
|
Лечит. Но пока вылетает на ДАТ-файле > 4 Гб. Ждём вердикта Романа, взлетит или нет
|
|||
115
Vinny
02.04.07
✎
11:40
|
Поясните практический смысл ращработки...
Ну выгрузил я базу 15 Гб в 1С архив (2 часа времени, против 30 минут SQL архивированием)... А поднимать я ее буду 1,5 суток, да?? И на фиг? Цифры названы близкие к реалиям ... |
|||
116
Vinny
02.04.07
✎
11:41
|
Тока если переходить с ДБФ...
|
|||
117
romix
модератор
02.04.07
✎
13:20
|
(114) На выходных ковырял - вылет действительно на 4 гб.
Есть подозрение что она все загружает, но на закрытии файла делает какое-то доп. действие (типа позиционирования в конец файла). Сегодня еще посмотрю. |
|||
118
pavel_tr
02.04.07
✎
13:21
|
(117) пасибо большое! С нетерпением жду результатов
|
|||
119
pavel_tr
02.04.07
✎
13:22
|
(115) у нас база SQL. Ценность см (98)
|
|||
120
pavel_tr
02.04.07
✎
13:23
|
+(117) да, всё она не загружает! См. раньше посты - на ДАТнике в 4,01 Гб вылетала на ПРЕДПОСЛЕДНЕМ доке, т.е. грузила не до конца
|
|||
121
pavel_tr
03.04.07
✎
23:08
|
апну
|
|||
122
romix
модератор
03.04.07
✎
23:36
|
а-а-а надо делать а не получается. Ладно сейчас отключусь повтыкаю еще.
|
|||
123
OlegNA
03.04.07
✎
23:41
|
Может быть материально какнибудь помочь?
|
|||
124
pavel_tr
04.04.07
✎
10:19
|
(123) поддерживаю
|
|||
125
pavel_tr
05.04.07
✎
12:14
|
вверх
|
|||
126
mcltd
05.04.07
✎
15:33
|
up
|
|||
127
pavel_tr
06.04.07
✎
16:38
|
вверх
|
|||
128
pavel_tr
09.04.07
✎
15:58
|
Ну что, списываем проблему как неподдающуюся лечению? :-(((
|
|||
129
romix
модератор
09.04.07
✎
16:10
|
(128) А данные точно не загружаются?
Например если загрузить, дождаться вылета, и сделать тестирование и исправление? |
|||
130
pavel_tr
09.04.07
✎
16:15
|
Честно говоря, после вылета не тестировал, ориентировался только на счётчик при загрузке. До завтра могу попробовать на копии, отписать (хотя уверен почти на 100%, что не догружает)
|
|||
131
romix
модератор
09.04.07
✎
16:21
|
Я пытаюсь заменять функции
CBufdFile::Open(char const *,unsigned int,class CFileException *) CBufdFile::Read(void *,unsigned int) Че-то вылетает, но по идее должно работать. Сейчас еще попробую. |
|||
132
pavel_tr
09.04.07
✎
16:24
|
Ты сюда запость как выложишь обновлённую версию, я сразу оттестирую. Тот ДАТник вылетучий храню (для чистоты эксперимента)
|
|||
133
romix
модератор
09.04.07
✎
16:32
|
(132) ОК
|
|||
134
mcltd
11.04.07
✎
17:34
|
up
|
|||
135
pavel_tr
12.04.07
✎
23:15
|
всплываем
|
|||
136
andrewalexk
13.04.07
✎
10:33
|
(135)
:) да что зря апать - ромикс как сделает так и продолжим.. |
|||
137
pavel_tr
13.04.07
✎
11:01
|
дык просто не терпится, понимаю, что только ждать и остаётся пока ;-)
|
|||
138
andrewalexk
13.04.07
✎
11:09
|
(137)
:) что у нас там Бендер (который Остап) говорил в ответ на "хочется же побыстрее.."(с)? ;) |
|||
139
romix
модератор
13.04.07
✎
11:35
|
а-а-а
У меня че-то глухо... Почему он валится - непонятно, ведь предел 2 гига у SetFilePointer... Я отрубил этот SetFilePointer, теперь валится на 4 Гб. А где это может быть ограничение.. Там еще один возможный путь - перехватить и подменить функции более высокого уровня ("получить следующий символ"), вот это наверное прокатит... Только она цуко валится все время... |
|||
140
pavel_tr
13.04.07
✎
12:04
|
(139) а молодцы одинеснеги! Столько багов в одной служебной операции... :-(
|
|||
141
mcltd
14.04.07
✎
16:01
|
up
|
|||
142
SnarkHunter
14.04.07
✎
16:15
|
(139)На какой файловой системе работаешь?
|
|||
143
ildus
15.04.07
✎
23:34
|
надо требовать от нуралиева открыть исходники 1С 77, если не захочет по доброму - может забастовку всех одинеснегов и франчей устроим?
|
|||
144
mcltd
17.04.07
✎
13:22
|
up
|
|||
145
Иде я
17.04.07
✎
13:30
|
Кому нужон ентот 1С и его исходники ? Им платят деньги - пусть сами и исправляют
|
|||
146
1Снег
17.04.07
✎
13:51
|
romix => А не получиться разбивать выгрузку и загрузку на несколько DAT-файлов меньших 2 Gb ????
|
|||
147
1Снег
17.04.07
✎
13:53
|
т.е. при загрузке после 1Cv77.dat "подсказать" 1С обрабатывать еще и файлы 1Cv77_01.dat, 1Cv77_02.dat
|
|||
148
romix
модератор
17.04.07
✎
14:11
|
а-а-а
там видимо надо заменять класс для работы с файлами в type32.dll - щас немножко тут разрулю конфу засяду... |
|||
149
pavel_tr
17.04.07
✎
18:01
|
Надежда теплится! :-)
|
|||
150
Злопчинский
18.04.07
✎
00:21
|
Зрителии на треке с интересом наблюдают как Шумахер содится в болид
|
|||
151
Darly
18.04.07
✎
08:26
|
Привет!
Странные дела - база DBF 3,2 гига выгружается с патчем и без... Только у меня без проблем? Есть, правда, своя заморочка - потом в SQL сальдо по некоторым счетам не так считает. |
|||
152
SnarkHunter
18.04.07
✎
08:28
|
>> база DBF 3,2 гига
Проблема не в размере базы, а в размере получаемого файла выгрузки... |
|||
153
Darly
18.04.07
✎
08:35
|
Выгрузка штатно - 72,1Mb (.zip), с патчем - 736 Mb (dat)
|
|||
154
SnarkHunter
18.04.07
✎
08:37
|
И что?
|
|||
155
Unforgiven
18.04.07
✎
08:39
|
(153)Сожми ДАТ и увидешь результат
ГЫ стиишок (с) |
|||
156
1Снег
20.04.07
✎
08:44
|
=> Romix Есть ли результаты?
|
|||
157
mcltd
20.04.07
✎
21:11
|
up
|
|||
158
romix
модератор
20.04.07
✎
22:00
|
а-а-а щас еще помучаю
|
|||
159
pavel_tr
21.04.07
✎
00:40
|
Жми, Рома!!!! :-)))
|
|||
161
user314159
23.04.07
✎
17:11
|
Выражаю благодарность создателю. Выручил. SQL база размером 5,5Гб 1Cv77.dat 2,5Гб все прошло удачно.
|
|||
162
mcltd
24.04.07
✎
20:37
|
romix
как движется? |
|||
163
mcltd
27.04.07
✎
16:23
|
up
|
|||
164
pavel_tr
28.04.07
✎
14:10
|
поднимем
|
|||
165
mcltd
30.04.07
✎
13:54
|
up
|
|||
166
mcltd
03.05.07
✎
20:44
|
up
|
|||
167
andrewalexk
04.05.07
✎
10:49
|
(166)
:) зануда не виси у ромикса над душой.. как сделает так и апнет |
|||
168
mcltd
14.05.07
✎
14:44
|
up
|
|||
169
mcltd
21.05.07
✎
14:55
|
up
|
|||
170
mcltd
25.05.07
✎
13:08
|
Romix! Скажите пожалуйста, как у вас продвигаются дела!!!
|
|||
171
Мулька
25.05.07
✎
13:10
|
Эко придавило. Невтерпеж прям :))
|
|||
172
mcltd
25.05.07
✎
18:58
|
да не придало!!!!
но все может быть в этой жизни!! |
|||
173
mcltd
04.06.07
✎
12:39
|
up
|
|||
174
romix
модератор
04.06.07
✎
12:50
|
(173) Вы с этим сталкиваетесь? (выгрузка > 4Гб)
|
|||
175
ildus
04.06.07
✎
22:37
|
ИМХО чтобы замутить вугрузку-загрузку > 4Гб, проще всего написать для этого альтернативную утилиту, чем ковыряться в бинарниках 1С
|
|||
176
pavel_tr
05.06.07
✎
01:42
|
(175) это просто мнение или обещание реализовать? ;-)
|
|||
177
mcltd
05.06.07
✎
10:55
|
(174) возможно скоро столкнусь
|
|||
178
ildus
05.06.07
✎
11:59
|
(176) мнение, т.к. мне это пока не нужно
|
|||
179
mcltd
25.06.07
✎
17:07
|
up
|
|||
180
romix
модератор
25.06.07
✎
17:34
|
Разобрался я вчера с MFC (пока писал вопрос на wasm.ru - все сам понял).
Волшебная сила форума... Книга знаний: Символьная информация из MFC42.dll в отладчике SoftICE Насколько я понял там библиотека MFC не поддерживает файлы длиной > 4Гб. Функцию BkEnd!?NextChar@CDB7Stream@@UAEXXZ попробую щас подменить простым побайтовым чтением файла. Там возвращает считанный символ в [ecx+38h]. Хэндл файла принимает в [ecx+04] по смещению 4. |
|||
181
Sasha_H
25.06.07
✎
17:47
|
Угумс... сообщишь. А то у меня получилось так, что файл больше 1Гб или 2Гб и все выдает ошибку (79)
|
|||
182
mcltd
25.06.07
✎
20:13
|
ждем
|
|||
183
romix
модератор
26.06.07
✎
03:45
|
Функцию заменил (заодно слип вставил, чтобы остальные задачи не тормозило)...
Проверяю загрузку большой базы... |
|||
184
mcltd
26.06.07
✎
12:30
|
молодец
|
|||
185
ZanderZ
26.06.07
✎
12:31
|
(183) когда провериться то ???????
|
|||
186
andrewalexk
26.06.07
✎
12:46
|
(185)
:) "быстро только кошки родятся.."(с) |
|||
187
ZanderZ
26.06.07
✎
12:48
|
(186) протсто очень актуальный вопрос для меня на сейчас :)
|
|||
188
andrewalexk
26.06.07
✎
13:07
|
(187)
:) как и для mcltd.. но быстро только сказка сказывается.. ;) |
|||
189
romix
модератор
26.06.07
✎
13:12
|
Если файл выгрузки (DAT) до 4 Гб, то загрузка работает.
|
|||
190
romix
модератор
26.06.07
✎
13:13
|
Я сейчас ковыряю - замену функции сделал, где-то она под конец все равно падает цуко, при закрытии что ли.
|
|||
191
ildus
26.06.07
✎
21:59
|
какую функцию чем заменил? из какой библиотеки?
|
|||
192
romix
модератор
26.06.07
✎
22:39
|
(191) Полностью переписал
//Функция-перехватчик ?NextChar@CDB7Stream@@UAEXXZ //public: virtual void __thiscall CDB7Stream::NextChar(void) Вроде работает. Почему валится на 4-гиговых выгрузках в конце загрузки, непонятно. Щас еще перехват на SetFilePointer верну проверю - не вызывается ли где-то в конце. |
|||
193
romix
модератор
26.06.07
✎
22:50
|
С маленькой базой все четко прошло. Поставил загружаться большую.
Что хорошо - теперь загрузка проц не так сильно вешает (я вставил слип). :-) |
|||
194
romix
модератор
27.06.07
✎
00:45
|
Где-то лезет исключение, причем до конца файла не доходит.
Видимо, где-то есть счетчик байтов, который переполняется при достижении границы 4 гига. |
|||
195
pavel_tr
27.06.07
✎
02:04
|
таки проблема остаётся нерешённой?
|
|||
196
FlashC
27.06.07
✎
02:20
|
romix - я конечно дилетант, но мне кажется что проблема не в Тебе, а в "4 гига" и 1С! Повторяюсь что "дилетант" но может разбить?!
|
|||
197
FlashC
27.06.07
✎
02:22
|
+(196) Просто никто не замечал, что 77 не любит большие объёмы, особенно >4гигов!
|
|||
198
romix
модератор
27.06.07
✎
12:08
|
(195) Исключения искать трудно.
Там можно поступить так: поскольку выдает текстовую строку с сообщением об ошибке, можно поставить прерывание на обращение к этой строке. Другой вариант: поскольку ошибка воспроизводится, поставить прерывание на все операторы вызова исключения (их там может быть несколько) и смотреть адрес точки вызова в стеке. |
|||
199
SnarkHunter
27.06.07
✎
12:24
|
(198)Я уже как-то раз спрашивал... На какой файловой системе все это тестируется?
|
|||
200
romix
модератор
27.06.07
✎
12:31
|
NTFS. Сам файл размером примерно 4,5 гига на диске лежит.
|
|||
201
ildus
27.06.07
✎
18:02
|
(192) так можно и весь dbeng32 переписать со всеми классами
|
|||
202
romix
модератор
27.06.07
✎
18:44
|
(201) Щас домой приду буду искать где вылезает исключение.
Самобан что ли попросить чтобы не отвлекаться. :-) |
|||
203
smaharbA
27.06.07
✎
18:47
|
(202) Нет уж ты давай не отлынивай, а кто нам будет про Луну рассказывать ))
|
|||
204
victuan1
29.06.07
✎
06:19
|
Ну и? Никак?
|
|||
205
romix
модератор
02.07.07
✎
09:56
|
Добил я ошибку с 4-гиговыми базами (меню Администрирование - Загрузить данные)!
Миста почему-то у меня была недоступна для меня в выходные... Действовал по (198-2), нашел функции которые имеют 4-гигабайтное ограничение, переписал их ?Checkpoint@CDB7Stream@@QAEXXZ ?GetSinceCheckpoint@CDB7Stream@@QBEJXZ Заодно добавил индикацию процента загрузки в трее (например, 45,8%) и слип (1 мс каждые 64 килобайт), чтобы загрузка не подвешивала систему... |
|||
206
romix
модератор
02.07.07
✎
11:06
|
Нуралиеву что ли письмо написать...
|
|||
207
mcltd
02.07.07
✎
12:08
|
(206) можно поздравить со снятием ограничения и в 4Гб?
|
|||
208
ildus
02.07.07
✎
12:19
|
>> Миста почему-то у меня была недоступна для меня в выходные...
(205) сам же самобан просил в (202) :) |
|||
209
romix
модератор
02.07.07
✎
12:22
|
(207) Ага
(208) Вряд ли... В любом случае это подействовало. :-) |
|||
210
ildus
02.07.07
✎
12:34
|
теперь на очереди избавление от появления нулевых записей в таблицах итогов регистров rg*.dbf
|
|||
211
romix
модератор
02.07.07
✎
13:37
|
Мне понравился сервер вопросов пользователей Яндекса к Путину, когда популярные вопросы (например, "как вы относитесь к медведу") выделяются большим шрифтом. Может то же самое пора сделать для пожеланий к 1С...
|
|||
212
mcltd
02.07.07
✎
14:48
|
(211) ПОЗДРАВЛЯЮ!!!
то есть можно качать полноценный комплект по ссылке вверху? |
|||
213
romix
модератор
02.07.07
✎
15:28
|
(212) Да, попробуйте пож. кому интересно выгрузить и загрузить большую базу.
Я тестировал на той базе, которая там приложена в комплекте (BigBase.rar). |
|||
214
pavel_tr
03.07.07
✎
14:02
|
Ура! Огромное спасибо автору!! Сейчас будем тестить...
|
|||
215
ILIAS
04.07.07
✎
10:13
|
Установил плагин v5, но при выгрузке SQL базы 14гб все равно выдает ошибку :(
|
|||
216
romix
модератор
04.07.07
✎
12:01
|
(215) Проверяю...
|
|||
217
romix
модератор
04.07.07
✎
12:44
|
(215) База в комплекте выгрузилась и загрузилась нормально...
Там когда задаст вопрос надо ответить "Да" (иначе попытается упаковывать DAT в ZIP). |
|||
218
Malegor
04.07.07
✎
15:47
|
Установил плагин v5, но при загрузке базы все равно выдает ошибку. dat-овский файл 1.5 гб.вся база 6 гб.
|
|||
219
romix
модератор
04.07.07
✎
15:51
|
(218) А тот DAT что идет в комплекте - загружается нормально?
|
|||
220
romix
модератор
04.07.07
✎
15:52
|
Может у нас разный релиз? У меня 25-й..
|
|||
221
ILIAS
04.07.07
✎
15:52
|
(217) Спасибо !
С ответом "Да" база выгрузилась - уже хорошо. Хотел загрузить ее в формате DBF, но вышла ошибка CODEBASE - файл 1SENTRY больше 2х гигов. Это к сожалению уже не победить :( |
|||
222
romix
модератор
04.07.07
✎
15:54
|
(221) А в сиквельную загружается?
|
|||
223
romix
модератор
04.07.07
✎
16:37
|
(221) Я вот думаю, а ведь предел-то должен быть 4 гига на DBF файл. А там 2 гига.
Думаю а не поправить ли SetFilePointer, если там идет dwMoveMethod=FILE_BEGIN и отрицательное смещение в lDistanceToMove (которое на самом деле - значения от 2 до 4 гигов). |
|||
224
Malegor
04.07.07
✎
17:07
|
у меня база дбф-ная не загружается не в сиквельную не в дбф-ную релиз 25 вылетает во время загрузки справочника контрагенты. Ошибка загрузки данных.
|
|||
225
romix
модератор
04.07.07
✎
17:36
|
(224) Попробуй создать заново пустую базу SQL, создать в конфигурации константу и сохранить конфигурацию. После этого должно нормально загружаться.
DAT файл такого объема по идее поддерживает и стандартная 1С без изменений (предел 2 гига). |
|||
226
ildus
04.07.07
✎
18:43
|
(223) даже не 2 а 1 в разделенном режиме.
|
|||
227
romix
модератор
04.07.07
✎
20:00
|
(226) hogik в Kernel33 перехватывает LockFile и UnlockFile и делает следующее:
Интересно что бы это значило: add edx, 80000000h Вечером отладчиком посмотрю... Похоже, что-то странное. |
|||
228
romix
модератор
04.07.07
✎
20:01
|
Если нечто подобное сделать с SetFilePointer, то предел 4 гига будет на одну DBF-ку...
|
|||
229
ildus
04.07.07
✎
20:35
|
(227) начало участка блокировки в файле смещается на 2 гигабайта зачем-то
|
|||
230
romix
модератор
05.07.07
✎
11:31
|
Апну... У кого-нибудь получилось выгрузить и загрузить хотя бы пример в комплекте?
|
|||
231
Malegor
05.07.07
✎
12:26
|
У меня загрузилось проблема была в наличии общего поля неограниченной длины
|
|||
232
romix
модератор
05.07.07
✎
17:50
|
Мне пишут в почту:
"Использовал Ваш Плагин для лечения выгрузки и загрузки больших баз в 1С 7.7 - Спасибо большое из Кишинева". Похоже вроде бы все в порядке... |
|||
233
andrewalexk
09.07.07
✎
11:18
|
(225)
:) а зачем в пустой конфе создавать константу? типа бага такая для всех релизов 7.7? |
|||
234
andrewalexk
09.07.07
✎
12:59
|
(233+)
:) и еще у меня при потере окном конфигуратора в режиме загрузки активного фокуса "умирает" прогресс-бар (даже просто при автоблокировке сеанса компьютера) но нагрузка на компьютер 1сv7.exe+sqlserver.exe остается.. типа фича такая? |
|||
235
romix
модератор
09.07.07
✎
15:54
|
(233) Похоже на то - иначе выдает ошибку (и в исходной 1С - так же).
(234) А сама загрузка нормально прошла? Я тоже кажется что-то такое наблюдал на XP SP2, а на Win 2000 SP4 все было ок. Попробую поправить... |
|||
236
andrewalexk
09.07.07
✎
16:25
|
(235)
:) нормально 2.2Г дат браво маэстро .. :) точно! ХП СП2 .. а ведь есть еще Виста.. ;) |
|||
237
Vinny
09.07.07
✎
20:01
|
Млин... ну бывает же такое...
Крутая вещь, многа разговоров... Абсолютно бесполезна в 90 % случаев... Ну поясните мне есчо раз... Если я имею базу в архиве более 2 Гб, и она не SQL то значит она ДБФ? а как можно хранить такие объемы в базах ДБФ. Любой сбой в работе 1С приведет к переиндексации базы, что займет ... скока-скока времени? Это ошибка администратора системы - он либо не тот продукт купил, либо базу не умеет "резать". Выгрузка такой базы займет несколько часов, а загрузка - несколько суток. Если это база SQL то проще и быстрее пользовать SQL backup. Быстрее как создание архива, так и его подъем. И никаких проблем с размерами файлов там нет в принципе. Хотя как вешь в себе - хорошая штука. Что касаетца описанного в (98)... Так господа, млин, не надо изза собственной лени в изучении механизмов базу уродовать. Когда нам приспичило, мы вот каким-то чудом нашли и способ DBA расковырять и скрипты для SQL backupa наваять, чтоб все автоматом в темной ночи работало... а базу тронать не стали, незачем это делать... |
|||
238
romix
модератор
10.07.07
✎
00:49
|
(237) Сиквельный бэкап конечно же намного лучше.
Данный же бэкап служит для переноса разросшихся баз в SQL, а также иногда для того чтобы перестроить таблицы при каких-то тормозах или косяках (т.к. идет выгрузка и загрузка в платформо-независимый формат). Ну и этот бэкап более компактный (мало ли придется базу на флэшку умещать или по FTP ее пересылать). |
|||
239
Злопчинский
10.07.07
✎
01:03
|
Ромикс! Ну их, этих крети..тьфу..критиканов...!
Пусть выложат свой этот как его .. рецепт подробный "Когда нам приспичило, мы вот каким-то чудом нашли и способ DBA расковырять и скрипты для SQL backupa наваять, чтоб все автоматом в темной ночи работало." а потом пусть возникают! |
|||
240
romix
модератор
10.07.07
✎
13:10
|
Поправил показ окна с процентом загрузки в XP SP2.
Теперь бодренько так циферки бегут в трее... |
|||
241
ZanderZ
10.07.07
✎
13:13
|
(240) молодец будем посмтортеть
|
|||
242
andrewalexk
10.07.07
✎
13:19
|
(240)
:) орел! |
|||
243
romix
модератор
10.07.07
✎
14:02
|
Еще раз запустил проверку...
Загрузка в пустую базу (если создать там константу и сохранить пустую конфу) прошла нормально. |
|||
244
igorluk
10.07.07
✎
17:41
|
(237) тебе бесполезно так и не читай ветку... от жиж...
подолбал бы лутше 1ссину шо они заложили бомбу и плевали на пользователей, чем фигней занимацца. |
|||
245
Malegor
10.07.07
✎
17:57
|
ребята немного не по теме, мот кто подскажет:перекидывал из дбф на sql загрузилась вроде нормально база , доки все проведенные висят, но если смотришь оборотку, то она показывает, что никаких проводок не было... И регистры пусты тоже...
|
|||
246
romix
модератор
10.07.07
✎
20:51
|
(244) Да никто не плевал, не факт что они сами провозились бы меньше.
Да и у них там наверное километровые списки пожеланий, не знают за что братся. (245) А попробуй точку актуальности сдвинуть (Операции - Управление оперативными итогами)... |
|||
247
igorluk
11.07.07
✎
11:30
|
(246) бывал я на семинарах 1с. больше всего удивляет то что проблемы на которые жалуются их же партнеры им давниым давно известно. а если так то почему бы не исправить? думаю разработчику с исходником легче разбираться чем тебе с дизасемблированием. :)
|
|||
248
romix
модератор
11.07.07
✎
13:04
|
(247) В сишном исходнике бывает еще сложнее разобраться. :-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |