IE 2016

Kernel3x - решение проблемы 1 гигабайта для DBFной версии 1С:Предприятие 7.7

Опубликовал hogik в раздел Программирование - Практика программирования

Одним из недостатков DBFной версии “1С:Предприятие 7.7” является ограничение на размер файлов – 1 гигабайт. При этом если система эксплуатируется в однопрограммном режиме, то размер файла может быть 2 гигабайта, однако если появится второй пользователь, а файл будет больше 1 гигабайта, то система 1С начинает сбоить по ЧТЕНИЮ, у одного пользователя, если другой выполняет запись/обновление данных. Например, если выполнять цикл по выборке данных, то он может “тихо” прекратиться в любой момент, не предоставив программе всего множества объектов.

O сути проблемы - FoxPro совместимом формате доступа к DBFам.
Для управления блокировками записи используется функции Win API LockFile() и UnlockFile(). Эти функции обеспечиваю блокировку участка файла “полностью” и по записи и по чтению. Если использовать эти функции непосредственно к участкам файла эквивалентным самим записям DBFа, то теряется возможность чтения записи. Поэтому в FoxPro принят “хитрый алгоритм” – блокируются участки файла начиная со 2GB, упрощенно говоря, отдельные куски файла логически сопоставленные с номерами реальных записей DBFа. Таким образом, реальный участок файла можно читать, т.е. моделируется блокировка по записи, но не по чтению. Если же реальные записи начинают располагаться после 1GB, то “технологические блокировки” наезжают на процесс чтения. Возникает сбой по чтению. В 1С не обрабатывается должным образом аварийный код возврата. Например, в функциях найти по ключу в 1С - получают аварийны код возврата, а в программу пользователя (конфигурацию) возвращают признак – объект не найден.
В Kernel33 делается очень простая вещь. Все обращения к функциям Win API отправляются в kernel32. А для функций LockFile() и UnlockFile() к параметру, указывающему стартовый адрес блокировки, добавляется число 2GB и так отправляется в kernel32. Таким образом, технологические блокировки уходят в 4GB. А так как существует уже другое ограничение на размер DBFов в 2GB, то в 4GB никакая реальная запись не попадёт.

Другие решения для снятия ограничения на размер информационной базы данных в “1С:Предприятие 7.7”:
1) http://www.etersoft.ru/index.php?option=com_content&task=view&id=157&Itemid=1
2) http://infostart.ru/projects/1359/
3) http://infostart.ru/projects/811/
В разработках номер 2,3 размер таблицы ограничивается количеством записей – 2147483647 штук, а не размером файла.

Файлы

Наименование Файл Версия Размер Кол. Скачив.
-
.1204118412 41,60Kb
08.05.12
945
.1204118412 41,60Kb 945 Бесплатно
-
.1223930460 12,30Kb
08.05.12
303
.1223930460 12,30Kb 303 Бесплатно
Kernel33.zip
.zip 16,61Kb
08.05.12
167
.zip 16,61Kb 167 Скачать

См. также

Лучшие комментарии

7. hogik 05.03.2008 17:21
Если каждый, не умеющий читать, “Фокусник” будет ставить минусы разработчикам, то все “в минусах ходить будем”. Всё, что Вы написали, не имеет никакого отношения, к описанной мной проблеме 1GB в 1С 7.7.
Теперь по пунктам:
1) “Максимальный размер файла такого размера, был ещё когда работали на VS 6.0.” – А 1С 7.7 и её СУБД написаны именно на VS 6.0. Но проблем не из-за этого.
2) “Сейчас как видно по ссылке ограничения в 2 гига, и ограниченны они максимальным размером который поддерживает операционка -4096 МГб.” – Думаю Вам пора переходить на другую ОС. Сейчас ограничения на размер файла другие. А ограничения на 4GB (или меньше) зависят от конкретной программы. Загляните в описание Win32 API.
3) “Хотя в целом идеология описана првильно.” – Жаль, что Вы её не поняли.
4) “Вот если ты сделаешь максимальный размер файла в 4 ГГб или более, это будет хорошо,” – Это уже сделано. Посмотрите другие мои разработки на этом сайте.
5) “размере 1,7 ГГб начались проблемы, но подкинули дисков, убрали остальные базы, и ничего, доработали до конца года без глюков.” – Важны не события, а наше отношение к ним. А НЕзнание – сила.
6) “а так пока минусую” – Жаль, что разработчики сайта запретили ставить минусы на комментарии к собственной разработке. Прошу считать мой Вам ответ как огромный минус.
Ответили: (8)
# Ответить
39. SVR27 03.05.2010 12:10
Если уж тема немного ожила, добавлю еще немного из практического опыта. Практика действительно опровергает причастность "ошибки -310" к ограничению 1гб. Вывод я для себя сделал, когда в очередной раз возникла ошибка и я отрезал описанным в (35) способом все файлы, переросшие 1 гб. Результат был нулевой, т.е. все файлы базы были размером меньше гигабайта, а ошибка все равно возникала :) Путем дальнейших поисков была выявлена "таблица-героиня", которой оказалась 1SCRDOC.DBF (её размер был "всего" 852 мб), в которой на тот момент было около 17 млн. строк. Я ее тоже немного "подрезал", удалив все ссылки на подчиненные документы с датой раньше, чем рабочий период базы. Ошибка исчезла. Но возникла вновь спустя каких-то 2 недели. Здесь я уже не стал тревожить большие таблицы, а сразу порезал перекрестные ссылки. Правда по ошибке вместо одного месяца удалил один день, и через день ошибка снова выскочила как чёртик из табакерки, т.е. получилось - отрезал день, получил возможность работать день. А патч на 1гб. - он работает. База, про которую я писал в (27), прекрасно работает с таблицами свыше 1 гб. (размер максимального файла 1,853 гб) на той же конфигурации. Так вот там 1SCRDOC.DBF весит 247 мб и около 7 млн. записей и повторюсь, все работает.
Так что (резюмируя), для себя я сделал выводы, что в действительности причиной ошибки 310 скорее всего является слишком большое число записей в какой-либо таблице (предположение высказывал hogik в (31) ), критическая граница в моем случае около 16-17 млн. записей. Хотя может истинная причина лежит поглубже, подожду коментариев более подкованных товарищей.
Возможно offtop, но может кому пригодится.
# Ответить
62. CheBurator 26.08.2011 02:54
Все... побежал за попкорном и колой...
+ 1 [ hogik; ]
# Ответить
36. hogik 03.02.2010 23:50
(35)(SVR27)
"... упоминали другую СУБД .... в том числе ... CodeBase и Advantage?"
Да. Но сравниться по скорости с родными DBF-ами в терминальном режиме, может только разработка на "CodeBase 6.5" в режиме ПДБД. Работает ОНО быстрее и нет проблем с размером таблиц...
+ 1 [ SVR27; ]
# Ответить
121. Ёпрст 06.06.2014 11:51
(119) в \bin\
+ 1 [ bahus87; ]
# Ответить

Комментарии

1. artbear 27.02.2008 17:43
Интересно, нужно посмотреть.
Ответили: (61)
+ 1 [ vova4ka; ]
# Ответить
2. withoutface 27.02.2008 23:52
А что это за ограничение "на размер файлов – 1 гигабайт"? 2 - знаю, 1 - нет.
И можно узнать ноу-хау разработки?
Ответили: (61)
# Ответить
3. hogik 28.02.2008 00:28
“И можно узнать ноу-хау разработки?”

Вот мой ответ (номер 21) на аналогичный вопрос от “СергейК” в “форуме” под разработкой http://infostart.ru/projects/811/. Там же (в обсуждениях) есть и более подробная информация на эту тему.

Сначала о самой сути проблемы - FoxPro совместимом формате доступа к DBFам.
Для управления блокировками записи используется функции Win API LockFile() и UnlockFile(). Эти функции обеспечиваю блокировку участка файла “полностью” и по записи и по чтению. Если использовать эти функции непосредственно к участкам файла эквивалентным самим записям DBFа, то теряется возможность чтения записи. Поэтому в FoxPro принят “хитрый алгоритм” – блокируются участки файла начиная со 2GB, упрощенно говоря, отдельные куски файла логически сопоставленные с номерами реальных записей DBFа. Таким образом, реальный участок файла можно читать, т.е. моделируется блокировка по записи, но не по чтению. Если же реальные записи начинают располагаться после 1GB, то “технологические блокировки” наезжают на процесс чтения. Возникает сбой по чтению. В 1С не обрабатывается должным образом аварийный код возврата. Например, в функциях найти по ключу в 1С - получают аварийны код возврата, а в программу пользователя (конфигурацию) возвращают признак – объект не найден.
В Kernel33 делается очень простая вещь. Все обращения к функциям Win API отправляются в kernel32. А для функций LockFile() и UnlockFile() к параметру, указывающему стартовый адрес блокировки, добавляется число 2GB и так отправляется в kernel32. Таким образом, технологические блокировки уходят в 4GB. А так как существует уже другое ограничение на размер DBFов в 2GB, то в 4GB никакая реальная запись не попадёт.
Ответили: (4) (61)
# Ответить
4. VasilyKushnir 28.02.2008 16:03
(3) Толково обяснил. Коммет спокойно можно перенести в описание обработки. (Эх жаль, нет книги знаний....)
# Ответить
5. фокусник 05.03.2008 14:11
Времена ограничения файла в 1ГГб канули в лета ещё в 1997 году. Максимальный размер файла такого размера, был ещё когда работали на VS 6.0.
http://msdn2.microsoft.com/en-us/library/3kfd3hw9(vs.71).aspx. Сейчас как видно по ссылке ограничения в 2 гига, и ограниченны они максимальным размером который поддерживает операционка -4096 МГб. Хотя в целом идеология описана првильно. Вот если ты сделаешь максимальный размер файла в 4 ГГб или более, это будет хорошо, а так пока минусую. У нас файл остатков в начале 2007 года был под один гиг, а к концу достиг 1,9 ГГб. При размере 1,7 ГГб начались проблемы, но подкинули дисков, убрали остальные базы, и ничего, доработали до конца года без глюков.
+ 1 [ fart07; ]
# Ответить
6. ded00786 05.03.2008 15:19
Зер ГУД, выручил :)
# Ответить
7. hogik 05.03.2008 17:21
Если каждый, не умеющий читать, “Фокусник” будет ставить минусы разработчикам, то все “в минусах ходить будем”. Всё, что Вы написали, не имеет никакого отношения, к описанной мной проблеме 1GB в 1С 7.7.
Теперь по пунктам:
1) “Максимальный размер файла такого размера, был ещё когда работали на VS 6.0.” – А 1С 7.7 и её СУБД написаны именно на VS 6.0. Но проблем не из-за этого.
2) “Сейчас как видно по ссылке ограничения в 2 гига, и ограниченны они максимальным размером который поддерживает операционка -4096 МГб.” – Думаю Вам пора переходить на другую ОС. Сейчас ограничения на размер файла другие. А ограничения на 4GB (или меньше) зависят от конкретной программы. Загляните в описание Win32 API.
3) “Хотя в целом идеология описана првильно.” – Жаль, что Вы её не поняли.
4) “Вот если ты сделаешь максимальный размер файла в 4 ГГб или более, это будет хорошо,” – Это уже сделано. Посмотрите другие мои разработки на этом сайте.
5) “размере 1,7 ГГб начались проблемы, но подкинули дисков, убрали остальные базы, и ничего, доработали до конца года без глюков.” – Важны не события, а наше отношение к ним. А НЕзнание – сила.
6) “а так пока минусую” – Жаль, что разработчики сайта запретили ставить минусы на комментарии к собственной разработке. Прошу считать мой Вам ответ как огромный минус.
Ответили: (8)
# Ответить
8. VasilyKushnir 06.03.2008 15:01
(7) Компенсирую (-:)
Ответили: (9)
# Ответить
9. hogik 06.03.2008 16:46
(8) Спасибо.
Но так хочется похвалы от “Фокусник”-а. ;-)
# Ответить
10. rovix 08.10.2008 11:04
при использовании Вашей разработки перестали работать ВК от romix (plugin_sleep_dbf.dll для обработки 100% загрузки процессора при ожидании блокировки таблиц, vk_log_write_doc.dll - для регистрации запуска внешних отчетов запускаемые с помощью hook_1c, не работает также ВК vk_sleep_1C.dll запускаемая из ГМ. Пробовали Вашу ВК kernel37.dll - тоже без эффекта :(
Может неправильно пытались ее использовать? Мы переименовали ее в kernel33.dll, а все остальное уже было сделано для решения проблемы 1Г. Может надо было положить ее рядом с kernel33.dll?
# Ответить
11. rovix 08.10.2008 13:34
извинюсь, с kernel37.dll все получилось
# Ответить
12. hogik 08.10.2008 16:29
(10-11)(rovix)
"с kernel37.dll все получилось"
Думаю, Вы ошибаетесь. Она просто лежит рядом с 1С и ничего не делает. Посмотрите сообщение #28 в http://infostart.ru/projects/1515/.
Ответили: (13)
# Ответить
13. rovix 09.10.2008 10:29
(12)(hogik)
hogik 26.12.2007
Цитирую:
>> Кстати, как работает с Kernel33.dll от http://infostart.ru/projects/811/ ? Глючит?
Да. Поэтому и появился Kernel37. Но алгоритм у romix лучше.
>> Может в вашей компоненте заложить снятие ограничения в 1ГБ для ДБФ баз?
Данный алгоритм должен включатся до открытия файлов DBF. А алгоритм разработки может включаться и позже. Проще в разработке romix учесть при перехвате еще и имя Kernel33.
Из этого поста делаю заключение, что в kernel37 все же существует алгоритм решения 100% загрузки проца, так что она лежит не просто рядом, а выполняет две функции снятие проблемы 1Г и 100% загрузки.
Сегодня еще раз проверил по методике описанной в описании разработки http://infostart.ru/projects/1515 - работает.
Спорить не буду хуже-лучше, но РАБОТАЕТ!!! И за это ей (и автору спасибо)
а вот как быть с vk_log_write_doc.dll?
Ответили: (14)
# Ответить
14. hogik 09.10.2008 16:10
(13)(rovix)
Я не вижу связи (конфликта) между vk_log_write_doc и Kernel3x.
Поясните, пожалуйста, в чем суть вопроса (проблемы).
# Ответить
15. rovix 09.10.2008 17:42
Я не зная, конфликт там или недопонятки у них (дээлэлок :)), но факт на лицо :(
До применения kernel33(37) исправно регистрировались открытия всех внешних отчетов, а после не регистрируется ни одного открытия.
То есть, либо vk_log_write_doc не грузится совсем, либо не получается у нее перехватить нужное событие.
Ответили: (16)
# Ответить
16. hogik 10.10.2008 02:27
(15)(rovix)
Я проверил совместимость Kernel3x с vk_log_write_doc (версия от 25.10.2006). Да, в журнал ничего не пишется. Но и без Kernel3x ничего в журнал не пишется. Возможно я чего либо не так делаю. Я пробовал на тесте, включенном в эту разработку. И там про регистрацию "открытия ... внешних отчетов" ничего не говориться.
# Ответить
17. rovix 10.10.2008 09:45
у нас версия от 17.10.2006 идущая в составе разработки hook_1c. Библиотека подгружалась с помощью hook_1c.dll при старте 1С. Для того чтобы работала hook_1c.dll делался патч seven.dll
Цитата из прилагающейся документации:
Установка:
1) Скопировать в папку 1cv7\Bin файлы
- Hook_1C.dll
- patch_Hook_1C.exe
- папку Plugins.
Сделать резервную копию папки BIN.
2) Запустить программу-патчер patch_Hook_1C.exe
3) В файле Hook_1C.ini указать, какие плагины требуется загружать.
Ненужные в данный момент плагины можно закомментировать символом ';'
конец цитаты.
vk_log_write_doc пишет не в журнал, а в папку LOG_ERT в каталоге базы данных.
Ответили: (18)
# Ответить
18. hogik 10.10.2008 17:46
(17)(rovix)
Я пробовал http://www.kb.mista.ru/article.php?id=380&edition=4 В этой разработке нет "hook_1c". И, как я понимаю - не требуется. Дайте ссылку на то, что Вы используете. Или пошлите мне эту разработку на адрес из описания Kernel3x.
Ответили: (19)
# Ответить
19. rovix 13.10.2008 09:02
(18)(hogik)
Приношу свои извинения, речь шла про компоненту log_ert.dll из http://www.kb.mista.ru/article.php?id=277
Ответили: (21) (20)
# Ответить
20. hogik 13.10.2008 19:25
(19)(rovix)
Проверил совместимость plugin_log_ert.dll (версия от 17.10.2006) с Kernel3x. Не работает и без установки Kernel3x. Однако по исходным текстам plugin_log_ert я не обнаружил возможных конфликтов с Kernel3x. Почему оно не работает - я не разбирался. Обратитесь к Роману (roMix).
Ответили: (21)
# Ответить
21. hogik 13.10.2008 22:48
+(20)
(19)(rovix)
Дополнение к собственной фразе: "...я не обнаружил возможных конфликтов с Kernel3x".
Это при условии, что не проводится замена имени Kernel32 на Kernel33 в библиотеке Seven.dll. Для решения "проблемы 1 гигабайта", на самом деле, достаточно модифицировать только библиотеку DBEng32.dll. См. сообщения 33-34 в http://infostart.ru/projects/811/?cp=all
Ответили: (38) (84) (110)
# Ответить
22. rovix 14.10.2008 14:55
да, действительно, если убрать kernel33 из seven.dll, то все начинает работать. Спасибо.
# Ответить
23. Montecrizto 30.08.2009 04:59
Спасибо автору за разработку выручил (еще один + )
# Ответить
24. soft_warrior 22.10.2009 08:52
у нас похожая проблема - при попытке провести документы (притом не все, на некоторых проходит нормально) выпадет сообщение с заголовком "DATABASE ERROR" из dbeng32.dll функции по адресу call 1F113900
место входа в отработку ошибки- :1F110ECE
содержит в первом сообщении -310 corrupt index file,
во втором вообщении еще имеется строка IDELETED
зависимости пока не нашел, но база не дошла до 1 гб ниодним файлом:
макс CDX 975605750 байт 1SACCSEL.CDX
макс DBF 757236620 байт 1SACCSEL.DBF
в ней же макс число записей - 16827474.
после упаковки смотрел 1SACCSEL.DBF
было 16827474 записей
стало 16925928 записей (тут уже работа идет - так что возможно просто прибавились)
индексы были 975 мегов, стал 440 мегов
он получается что файл не чистится?
пока удалось вылечить лишь сжатием базы до полугодия.
# Ответить
25. soft_warrior 22.10.2009 10:30
продолжение сообщения 24...
1SACCSEL.DBF остался одним и темже размером - просто не сжимали помеченные на удаление записи в файлах.
# Ответить
26. Altair777 22.10.2009 10:56
(0) по первой ссылке ( http://www.etersoft.ru/index.php?option=com_content&task=view&id=157&Itemid=1 ) не пускает без регистрации
У Вас нет прав для просмотра этого ресурса.
Вы должны зайти как пользователь.


Это такая раскрутка сайта? :)
# Ответить
27. SVR27 25.01.2010 08:57
Когда в базе стали проявляться разночтения при формировании отчетов, база была пропатчена (Kernel37 на терминальном сервере win 2003), работоспособность восстановилась, база работает до сих пор (размеры 6 самых больших файлов за 1гб в сумме весят 8гб). В другой базе, где 1с работает под win 2003 x64, 2 таблицы переросли 1гб и начались проблемы. Может ли разрядность операционки влиять на работоспособность этой бибилиотеки? Может кто-то сталкивался с такой проблемой, расскажите как её решали?
Ответили: (28) (39)
# Ответить
28. hogik 25.01.2010 20:52
(27) (SVR27)
"...под win 2003 x64...начались проблемы"
1) Проблемы начались после установки Kernel3x ?
2) Как проявляются проблемы ?
P.S. См. сообщение (24) данной темы. У Вас такая ошибка? Мне, по таким случаям, много приходит писем. И у всех стоит Win2003 x64. Эта ошибка не имеет отношения к проблеме "1 гигабайт". И применение Kernel3x её не лечит.
# Ответить
29. SVR27 26.01.2010 10:02
В общем ситуация следующая: файл одного из регистров перерос 1гб. При открытии периода выходит ошибка codebase error -310. Собственно так и было примерно год назад на другой базе, которая работает под обычной 32-битной виндой. Её пропатчили kernel37 и проблема исчезла. Сейчас в той базе 6 таблиц размером больше 1гб и всё отлично работает. На 64-битной системе сделан абсолютно такой же патчинг, но получается даже с ним стали вылетать ошибки индексов.
p.s. Индексы восстанавливаю ежедневно (путем удаления *.cdx и запуска в монопольном режиме)
Ответили: (31) (32)
# Ответить
30. soft_warrior 26.01.2010 10:50
используя давно забытые со школы умения, поглядел библиотеку.
точек входа в эту ошибку вообщето далеко не одна, а как минимум 4,
и относятся к файлам индексов.
Так что патчем одной ошибки это врядли ограничится.
Ответили: (39)
# Ответить
31. hogik 26.01.2010 20:38
(29)(SVR27)
"...даже с ним стали вылетать ошибки индексов"
Могу, только, повторить еще раз. Ошибка -310 никак не связана с проблемой "1 гигабайта" и с помощью Kernel3х не лечится. По приходящим мне письмам складывается впечатление, что возможные причины ошибки -310 в следующем:
0) Действительно испорченные индексы.
1) Количество индексируемых записей в таблице больше 3-5 миллионов.
2) Большой размер ключа.
3) Выполняется большое обновление таблицы с ключевыми значениями с обратным порядком индекса.
4) Маленькая страница индексного файла. Её размер - 512 байт. И изменить это невозможно.
При этом сказывается различное сочетание событий пунктов 1-4.
Для себя я сделал вывод, что это ошибка в движке (CodeBase) на котором работает 1С 7.7 DBF-ной версии. В большинстве, приходящих мне, писем говорится об использовании "Windows 2003 x64" в терминал серверном режиме. Т.е. негативное влияние ОСа, на появление данной ошибки, я не исключаю.
В "CodeBase 6.5" такой ошибки не возникало. Кроме этого в нём можно увеличить размер страницы индексного файла.
+ 1 [ SVR27; ]
# Ответить
32. hogik 27.01.2010 15:38
(29)(SVR27)
Сергей.
Проверьте, пожалуйста, как себя поведет 1С, если у всех пользователей сделать доступ к каталогу базы данных, как к сетевому ресурсу (для "Windows 2003 x64" в терминал серверном режиме). Т.е. в запуске сессий 1С поставить "\\Сервер\Ресурс". Скорость работы 1Са снизится. А, интересно, ошибка -310 будет возникать?
Ответили: (33) (35)
# Ответить
33. SVR27 02.02.2010 22:34
(32) попробовал, ошибка возникает.
Кстати, интересный факт, очередной период (1 февраля) открылся без ошибок. Если смещать ТА назад например на 25 января, то ошибка возникает.
Ответили: (35)
# Ответить
34. hogik 02.02.2010 22:57
(33)(SVR27)
Я бы, на Вашем месте, еще проверил работоспособность системы с этой базой:
1) В терминал серверном режиме на НЕ x64.
2) В файл серверном режиме.
И если ошибка будет возникать, то - переходить на другую СУБД...
Ответили: (35)
# Ответить
35. SVR27 03.02.2010 07:33
(34)
1) Это я уже проверил, ситуация аналогичная.
2) Т.е. помимо описанного в (32) трюка ещё и с другой машины? (upd. Проверил, не помогает).
Теоретически можно перейти на SQL версию, но мне она нравится меньше. Одна база у меня работает на ней, по умолчанию все работало очень медленно. После замены ключевых тормозов на прямые запросы стало терпимо, но другие базы на SQL переводить все равно не хочется. Да и ситуация с 310 ошибкой на самом деле не совсем ужасная. И опыт борьбы с ней уже кое-какой имеется. помогает уменьшение файла, т.к. ошибка начинает появляться на файле большого размера, из-за чего и делался неверный как оказалось вывод о связи с проблемой гигабайта. Если штатными средствами ужать файл не получается, режу остатки за начальный период работы (например пару месяцев), обращение к которым маловероятно: в Foxе DELETE ALL FOR Rg283.period<{^2009-02-01} или DELETE FROM ra283 WHERE iddoc in (select iddoc FROM 1sjourn WHERE date<{^2009-02-01}) или DELETE FROM dt833 WHERE iddoc in (select iddoc FROM 1sjourn WHERE date<{^2009-02-01}), это мои 3 проблемных файла. А вообще скоро уже базу буду сворачивать резать, как это происходит ежегодно.
Такие вот дела, спасибо за ваши советы и помощь.
Кстати, уважаемый (hogik), насколько я понимаю в (32), когда упоминали другую СУБД имели в том числе и Ваши наработки по использованию CodeBase и Advantage?
Ответили: (36) (39)
+ 1 [ g26516; ]
# Ответить
36. hogik 03.02.2010 23:50
(35)(SVR27)
"... упоминали другую СУБД .... в том числе ... CodeBase и Advantage?"
Да. Но сравниться по скорости с родными DBF-ами в терминальном режиме, может только разработка на "CodeBase 6.5" в режиме ПДБД. Работает ОНО быстрее и нет проблем с размером таблиц...
+ 1 [ SVR27; ]
# Ответить
37. kas4info 30.04.2010 15:30
чем редактировать файлы библиотек?
Ответили: (38)
# Ответить
38. hogik 30.04.2010 16:28
(37)(kas4info)
1) "...файлы..." - см. сообщение (21) данной темы.
2) "чем редактировать..." - http://ru.wikipedia.org/wiki/HEX-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80
# Ответить
39. SVR27 03.05.2010 12:10
Если уж тема немного ожила, добавлю еще немного из практического опыта. Практика действительно опровергает причастность "ошибки -310" к ограничению 1гб. Вывод я для себя сделал, когда в очередной раз возникла ошибка и я отрезал описанным в (35) способом все файлы, переросшие 1 гб. Результат был нулевой, т.е. все файлы базы были размером меньше гигабайта, а ошибка все равно возникала :) Путем дальнейших поисков была выявлена "таблица-героиня", которой оказалась 1SCRDOC.DBF (её размер был "всего" 852 мб), в которой на тот момент было около 17 млн. строк. Я ее тоже немного "подрезал", удалив все ссылки на подчиненные документы с датой раньше, чем рабочий период базы. Ошибка исчезла. Но возникла вновь спустя каких-то 2 недели. Здесь я уже не стал тревожить большие таблицы, а сразу порезал перекрестные ссылки. Правда по ошибке вместо одного месяца удалил один день, и через день ошибка снова выскочила как чёртик из табакерки, т.е. получилось - отрезал день, получил возможность работать день. А патч на 1гб. - он работает. База, про которую я писал в (27), прекрасно работает с таблицами свыше 1 гб. (размер максимального файла 1,853 гб) на той же конфигурации. Так вот там 1SCRDOC.DBF весит 247 мб и около 7 млн. записей и повторюсь, все работает.
Так что (резюмируя), для себя я сделал выводы, что в действительности причиной ошибки 310 скорее всего является слишком большое число записей в какой-либо таблице (предположение высказывал hogik в (31) ), критическая граница в моем случае около 16-17 млн. записей. Хотя может истинная причина лежит поглубже, подожду коментариев более подкованных товарищей.
Возможно offtop, но может кому пригодится.
# Ответить
40. AlexFF 22.11.2010 16:56
После замены kernel32.dll на 33, выходит следующая ошибка:
Приложение или библиотека c:\1См77\BIN\DbEng32.dll не является образом программы Windows NT. Проверьте назначение установочного диска.

Подскажите, что я сделал не так.
Ответили: (41)
# Ответить
41. hogik 23.11.2010 04:19
(40)
"Подскажите, что я сделал не так."(с)
Алексей.
Не так внесли исправления в библиотеку. Чаще всего, в момент редактирования стоял режим "сдвига"(вставки), а не "забой" в HEX-редакторе.
# Ответить
42. AlexFF 23.11.2010 13:18
Я менял с помощью WordPad. Не мог найти в интернете бесплатный Hex-редактор
Ответили: (43)
# Ответить
43. hogik 25.11.2010 02:55
(42)
См. сообщение #38 данной темы.
+ 1 [ rinari_AVA; ]
# Ответить
44. rinari_AVA 30.11.2010 18:43
Проблема Следущая:
база в DBF формате, весит уже 8Гб. 2 таблицы больше 1 ГБ одна из них dbf -ка проводок,2-я CDX отбор счетов. Пользователей 20.
Воспользовалась kernel33.dll. Начали работать и вроде все ок Но примерно ч/з час снова начало выбивать ошибки либо не пускает в программу (пишет, что не может прочитать константу) либо тормозит проведение ожидание захвата таблицы. Установила vk_TerminalSleep,эффект тот же.Чем дальше тем у большего числа пользователей. После переиндексации какое-то время работает , потом снова. Может подскажите, что еще можно сделать?
Ответили: (45)
# Ответить
45. hogik 30.11.2010 19:25
(44)
1) "снова начало выбивать ошибки "(с)
http://infostart.ru/public/77617/
2) "После переиндексации какое-то время работает"(с)
http://infostart.ru/public/15211/
http://www.wirth.ru/publ/test_1_v7dbnet/1-1-0-1 (
3) "Может подскажите, что еще можно сделать?(с)
а) 1С 8.х
б) 1С 7.7 + MS SQL + http://1cpp.ru
4) "Установила vk_TerminalSleep"(с)
Меня это удивляет. Вы читали описание Kernel3x ?
Ответили: (46)
# Ответить
46. rinari_AVA 01.12.2010 14:43
(45)3б) это и собираемся делать, но надо найти временное решение пока переведем, т.к в конфе используются свои классы и после простой конфертации наши классы не работают. А на базе работать весьма проблематично, а это розн. магазин продуктовый постоянный большой документооборот.
4 Читала, там предлагалост еще kernel37.dll. и ссылка на vk_TerminalSleep. Не утверждаю что использовала это правильно, т.к с такими манипуляциями столкнулась впервые.
Ответили: (47)
# Ответить
47. hogik 01.12.2010 17:42
(46)
"...с такими манипуляциями столкнулась впервые."(с)
Огромная к Вам просьба!!!
Наймите (пригласите) на работу программиста и покажите ему нашу переписку.
Ответили: (48)
# Ответить
48. rinari_AVA 01.12.2010 18:28
(47)Очень информативно, а главное "помогло". Я так поняла все возможные варианты вы дали в предыдущем сообщении и других нет.
А последнее сообщение="Посмотрите какой я умный". Поздравляю,но я спрашивала не об этом. "Не стыдно чего-то не знать, стыдно не хотеть знать"
Ответили: (49)
# Ответить
49. hogik 01.12.2010 19:47
(48)
Очень странная и обидная, для меня, оценка моего сообщения. :-(
В конце описаний моих разработок написан мой e-mail.
У Вас есть возможность "списаться" со мной и получить мой номер телефона.
Позвонить мне и получить от меня любую консультацию по любой, известной мне, проблеме (задаче). Многие люди так и делают. Я денег за это не прощу и не получаю. Единственно, что от Вас требуется - понимать то, что я Вам буду говорить. А говорить мы будем очень о многом и очень долго. И начнем мы разговор с выяснения какие "начало выбивать ошибки"(с). Т.е. её содержание, а не сам факт появления ошибки...
P.S. А показать нашу переписку надо программисту, т.к. в моих сообщениях, думаю, есть решение (временное) проблем в Вашей системе. И у Вас, возможно, появится время для спокойного перехода на другие системы. Мой совет "показать программисту" - это не попытка "ткнуть Вас", а облегчение программисту поиска готовых (в рамках его специальности) решений.
P.P.S. У меня есть огромное подозрение, что база данных в Вашей системе сильно попорчена в результате сбоев. И избавление от факта "выбивания ошибок" - это не всё, что придется делать программисту.
# Ответить
50. yra111 17.01.2011 19:29
Сервак 2003виндовс х64, юзеры в терминалке работают,12Гб оперативки,,1С 7.70.026 ,DBF УПП,4Гб общий размер(в архиве 400кб),самая закабаневшая ДБФка 2Гб.Ведется с 2005 года, но обрзеалово ничего толкового не даст,росла она нелинейно по времени. если срезать по 2009г включительно - размер ополовиниваеться.
Как это вообще по мировым стандартам, много ли?

Ну и наблюдаеться следующая проблемма: формируем анализ счета или еще какойнить стаддартный отчет,видим что у Иванова по 71 счету СКД 200$, жмем много раз ОБНОВИТЬ и там уже 300$,или нуль вообще ,у кого как. Не по всем субконтам но по многим.
кернелл33 тут поможет?Или как еще можно выкрутиться?
Ответили: (51)
# Ответить
51. hogik 17.01.2011 20:04
(50)
1) "закабаневшая ДБФка 2Гб"(с)
Ограничение на DBF - 2 гигабайта.
2)"Как это вообще по мировым стандартам, много ли?"(с)
Для DBF - очень много.
3) "...кернелл33 тут поможет?"(с)
Для решения этой проблему и сделан.
4) "Или как еще можно выкрутиться?"(с)
Переходить на другую СУБД.
# Ответить
52. yra111 17.01.2011 20:33
Ограничение на DBF - 2 гигабайта.<>Для решения этой проблему и сделан.
тоесть к33 снимет это ограничение, и базе можно будет отожраться до 4х ГБ ?
Ответили: (54)
# Ответить
53. yra111 17.01.2011 21:13
"Таким образом, технологические блокировки уходят в 4GB. А так как существует уже другое ограничение на размер DBFов в 2GB, то в 4GB никакая реальная запись не попадёт."
тоесть к33 снимет 2Гб ограничение, и базе можно будет отожраться до 4х ГБ ?
Ответили: (54)
# Ответить
54. hogik 17.01.2011 22:47
(52)(53)
Проблема типа "жмем много раз ОБНОВИТЬ и там уже 300$,"(с) возникает при размере файла больше 1 гигабайта. Именно эту проблему решает Kernel3x. А ограничение в 2 гигабайта снимается применением других СУБД. Это ограничение заложено в FoxPro совместимом формате DBF.
# Ответить
55. sss999 20.04.2011 10:59
А что за истрия про жмем много раз обновить?
# Ответить
56. yra111 20.04.2011 13:00
так написано выше... при размере самой толстой ДБФки приближающемся к 2Гб итоги начинают "плавать" - тоесть один раз формируем бух. ит. по чемнибудь получаем одну сумму, формируем через 5 секунд еще раз с теми же параметрами - получаем другую... есстесственно за эти 5 секунд никто по этому счету ничего не вносил.
# Ответить
57. hogik 24.08.2011 02:48
Пришло мне сообщение на электронный ящик:
"Новый голос за "Kernel3x - решение проблемы 1 гигабайта для DBFной версии 1С:Предприятие 7.7" от пользователя andrewbc.
Оценка: -1"

Заглянул в тему. Минус стоит. Причина (комментарий) - отсутствует.
Автор "минуса" - может напишете причину?
Ошибка в программе? Или еще - что?
Ответили: (58)
# Ответить
58. andrewbc 24.08.2011 17:45
(57) "Одним из недостатков DBFной версии “1С:Предприятие 7.7” является ограничение на размер файлов – 1 гигабайт." - это абсолютно не верно, даже с добавкой "При этом если система эксплуатируется в однопрограммном режиме, то размер файла может быть 2 гигабайта, однако если появится второй пользователь, а файл будет больше 1 гигабайта, то система 1С начинает сбоить по ЧТЕНИЮ". Поэтому и минус (это мое личное мнение, основанное на 7-летнем опыте работы с 7.7). Владимир, я уважаю Вашу работу в плане глубокого тестирования платформы 1с, но могу со 100% уверенностью сказать, что по крайней мере 5 из известных мне баз работает с dbf-файлами размером более 2.5 - 2.7 Гб, а одна даже с 3.7, (регистры партии, покупатели, проводки, ссылки счетов), причем 2 из них работают в распределенном режиме, с одновременным количеством пользователей от 10 до 30. Проблема, наверное, не в размере файла, а размере конкретного файла (например, журнала документов или констант и периодических реквизитов, может, еще чего, нужно тестировать конкретную базу и конфигурацию) или алгоритмов обработки.
Ответили: (59)
# Ответить
59. hogik 24.08.2011 18:15
(58)
Андрей.
Спасибо, что пояснили своё "личное мнение, основанное на 7-летнем опыте работы с 7.7"(с) при вынесении вердикта - "минус". ;-)
В свой "список", известных Вам больших баз, можете добавить информацию о "моей" базе - 10 ГБ одних DBF-ов. Работает на родном движке 1С-а более 10 лет. Кстати, без единой свертки за это время. ;-) Но проблему "1ГБ" мы получили на второй год. Т.к. размер ОДНОГО файла превысил этот размер. У нас, примерно, на 0.9 ГБ в год прирастало.
В описании моей "разработки" написано:
"Одним из недостатков DBFной версии “1С:Предприятие 7.7” является ограничение на размер файлов – 1 гигабайт."(с) Там нет слов - ВСЕХ файлов. :evil:
И, если прочесть хотя бы второе предложение из моего описания "...а файл будет больше 1 гигабайта, то..." - это становится совсем очевидно. :-)
Не надо присоединяться к сообществу "фокусник"-ов (сообщение #5 данной темы).
Думаю, Вы не "фокусник", а программист... ;-)
Ответили: (60)
# Ответить
60. andrewbc 25.08.2011 13:55
(59) К сожалению, уважаемый автор неправильно истолковал смысл моего комментария. "по крайней мере 5 из известных мне баз работает с dbf-файлами размером более 2.5 - 2.7 Гб, а одна даже с 3.7" - это значит, что не ВСЕ файлы, а размер по крайней мере ОДНОГО из файлов в данных базах имеет указанный объем. А общий размер каждой из этих ИБ - от 10 до 25 Гб. А к "фокусам", как вы правильно заметили, я не имею никакого отношения. Хочу только добавить, что, наверняка, ваша разработка не вредит работе 1с, но позиционировать ее как панацею от несуществующей на мой взгляд проблемы, думаю, не стоит. Повторюсь, наверное, стоит все-таки обратить внимание на совершенствование алгоритмов, имеющихся в конфигурации. Думаю, что с вашими способностями программиста это вполне реально и может принести гораздо большую пользу. :) Хотя, если в вашей базе разработка решает какие-то проблемы, определенно, она имеет право на существование. В качестве примирения снимаю -, поставив +. Ок?
# Ответить
61. hogik 25.08.2011 17:43
(60)
Андрей.
Верните, пожалуйста, "минус" обратно.
Я пытался дать Вам шанс выйти из глупой ситуации с честью.
Вы этого не захотели или не смогли сделать. :-(
Мне будет приятней, если Ваше мнение о моей "разработке" будет "располагаться" рядом с "фокусник"-ом.

Visual FoxPro System Capacities:
http://msdn.microsoft.com/en-us/library/3kfd3hw9(VS.80).aspx
http://www.codebase.com/support/kb/?article=C01089

Корни "проблемы" (текст из MSDN):
System Capacities for FoxPro 2.5 for MS-DOS
Last reviewed: April 18, 1995
Article ID: Q106269
The information in this article applies to:
Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b
SUMMARY
Below is a list of the system capacities for FoxPro for MS-DOS.
MORE INFORMATION
Some capacities may be limited by available memory. A indicates that the actual file size (in bytes) cannot exceed 2 gigabytes (GB) for single user or exclusively opened multiuser .DBF files. Shared multiuser .DBF files with no indexes or .IDX indexes cannot exceed 1 GB. Shared multiuser .DBF files with structural .CDX indexes cannot exceed 2 GB.

P.S. Дам пояснение по Вашей фразы: "автор неправильно истолковал смысл моего комментария"(с)
Естественно, я его иначе и не мог истолковать, исходя из ограничения размера одного DBF файла (СОВМЕСТИМОГО с FoxPro форматом) в 2 гигабайта. Или Вы о других базах и СУБД говорите?

Прикрепленные файлы:

12345.JPG
+ 1 [ Ёпрст; ]
# Ответить
62. CheBurator 26.08.2011 02:54
Все... побежал за попкорном и колой...
+ 1 [ hogik; ]
# Ответить
63. www1 15.09.2011 08:25
Столкнулся с проблемой 1Gb (W2k3 x64). Kernel очень выручил - дал время для подрезки базы. Спасибо автору!
# Ответить
64. Pilokarpios 19.10.2011 12:25
Да ну? ))
# Ответить
65. Pilokarpios 19.10.2011 12:27
Буду побывать!
# Ответить
66. Makdir 18.12.2011 17:33
Ставлю Плюс.
Считаю подобные разработки бесценными, эти все проблемы в свое время должна была решить сама 1С, но они пошли другим путем - удачным маркетингом. Надежд на появление альтернатив мало, поэтому радует, что хоть кто-то латает существенные дыры программы.
# Ответить
67. mimos 22.12.2011 14:03
Что то не разу не сталкивался на ограничение 1ГБ. Впёрся на 2 гигабайта - думал поможет )) но не помогло. Автору плюс за решение проблемеи.
Ответили: (68)
# Ответить
68. hogik 22.12.2011 16:14
(67)
"Что то не разу не сталкивался на ограничение 1ГБ"(с)
.....(mimos)
Скачайте Test.zip и столкнитесь. ;-)
Существует три причины "не сталкиваться" с этим ограничением.
1) В системе всегда работает один пользователь.
2) Уникальная схема базы данных и/или алгоритмы работы с информацией.
3) Пользователь не замечает ошибки. ;-)
# Ответить
69. porese 26.12.2011 10:54
Неоднократно сталкивался с проблемой 1гб, выглядить так: в монопольном режиме все ок, в разделенном при работе нескольких пользователей запросы по регистру (в данном случае партии более 1 гига) каждый раз разные результаты. Лечил обрезкой базы, но все равно пару месяцев приходилось работать в таком режиме (обрезка 1 раз в год в феврале по текущий год).
Использую hook_1c с разными плагинами в том числе sleep (решение проблемы 100% загрузки проца), его немного поправил по подобию kernel33, т.е. перехватил не только lookfiles но и unlookfiles и младший dword адрес при вызове оригинала увеличиваю на 2 гига. Проблема 1 гига решилась. Если кому интересно, выложу.
Ответили: (71)
# Ответить
70. Builder 26.12.2011 14:46
Будем проводить испытания. Спасибо!
# Ответить
71. hogik 26.12.2011 16:58
(69)
.....(porese)
Конечно выкладывайте, отдельной публикацией.
У Романа решение проблем через hook_1c сделаны лучше.
Но!!!
Надо не забывать, что использование запросов через FoxPro могут вызвать проблемы при изменении способа блокировки. И, думаю, имеет смысл разделять (иметь возможность управлять активизацией) решение проблем "100% CPU" и "1GB". Т.к. первая проблема донимает всех, а вторая возникает только в "экзотических" случаях... ;-)
P.S. Управление должно быть до запуска (активизации) сессии 1С-а, а не на уровне ВК.
# Ответить
72. mustakh 06.02.2012 12:05
Скажите пожалуйста кто нибудь еще продолжает писать на FoxPro? В свое время кажется 80% СССР писали в этой СУБД, кто знал это знали и структуру DBF
Ответили: (74)
# Ответить
73. mustakh 06.02.2012 12:09
У нас часто DBF размер превышает 1Гб, SQL ставит дорогвато, наш спец разработал обработеку для ужаления старых записей, и после сжатия DBF становится нормальным, но это надо делать вручну, запускать обработку , выяснять какой dbf превысли размер 1 Гб
Ответили: (74)
# Ответить
74. hogik 06.02.2012 17:25
(72)(73)
Алик (mustakh).
Это вопросы, утверждения, предложения, пожелания, размышления, просьба, ... ?
Что требуется от автора публикации?
# Ответить
76. zelenprog 06.09.2012 10:20
Я не совсем понял :(
Владимир, скажи пожалуйста точно: каков допустимый максимальный размер CDX и DBF файлов, при использовании этой разработки?

У меня DBF-база, самые большие файлы - это регистры:
регистр1: DBF - 1.949.676.528 байт, CDX - 1.043.525.120
регистр2: DBF - 1.062.751.702 байт, CDX - 697.588.736
остальные файлы - менее 1Гб.

Сейчас возникла необходимость добавить в этих регистрах галочки "отбор движений", соответственно перестроится структура индексов, и размеры индексов увеличатся и скорее всего перевалят за 2Гб.
Получается после этого моя база перестанет работать?

Будет ли работать база после увеличения индексов если использовать эту разработку?
Ответили: (77)
# Ответить
77. hogik 06.09.2012 15:12
(76)
"Получается после этого моя база перестанет работать?"(с)
Да.
"Будет ли работать база после ... если использовать эту разработку?"(с)
Нет.
"скажи пожалуйста точно: каков допустимый максимальный размер CDX и DBF файлов"(с)
Для CDX - 2ГБ. Но, еще до достижения такого размера система перестанет работать по другим причинам.
Для DBF - 2ГБ при ОдноПользовательском использовании, 1 ГБ - при разделенном режиме.
При использовании "Kernel3x" - 2ГБ в обоих режимах.
Ответили: (78)
# Ответить
78. zelenprog 06.09.2012 15:55
(77) hogik,
а как же у меня сейчас работает?
ведь два ДБФ-файла регистров превышают 1Гб, режим работы - разделенный
Ответили: (79)
# Ответить
79. hogik 06.09.2012 17:38
(78)
"а как же у меня сейчас работает?"(с)
Понятие "работает" относительное. ;-)
В "публикации" описано как это проявляется.
И если в Вашей системе пользователи этого не замечают, то Ваша система - работает.
+ 1 [ zelenprog; ]
# Ответить
80. АндрейКр 17.11.2012 03:35
Уже давно использую kernel3x. Не представляю что бы я делал без этой разработки. Спасибо!
Есть такой вопрос. Совместима ли kernel3x с использованием прямых запросов для DBF базы, реализованных в 1cpp?
Ответили: (81)
# Ответить
81. hogik 17.11.2012 04:36
(80)
Андрей (АндрейКр).
Естественно - нет.
Это следует из самой сути данной "разработки" - она меняет "FoxPro совместимый формат доступа к DBFам".
Пробуйте использовать: http://infostart.ru/public/15977/
# Ответить
82. basil_m 17.12.2012 13:22
hogik, подскажите, при установке написано, что в библиотеке Seven.dll контекст "Kernel32.dll" заменить 2 раза,а в DBEng32.dll – один раз. У меня платформа 7.70.027. В Seven.dll нашел только 1 раз, а в DBEng32.dll не нашел вообще. Такое возможно?
# Ответить
83. basil_m 17.12.2012 14:32
Нашел. Оказалось все просто. Просто было написано заглавными буквами, а я искал только по строчным.
Ответили: (84)
# Ответить
84. hogik 17.12.2012 17:50
(83)
Ещё см. (21) сообщение данной темы.
# Ответить
85. basil_m 18.12.2012 11:24
hogik, т.е. для решения проблемы 1Гб можно seven.dll не модифицировать, а только DBeng32.dll ? Я правильно понял?
Ответили: (86)
# Ответить
86. hogik 18.12.2012 16:59
87. CheBurator 21.03.2013 12:17
кернел33 - стоит, однако припроведении доков вываливается ошибка -310, подробности отписал в личку. Что делать?
Ответили: (88)
# Ответить
88. hogik 21.03.2013 16:12
(87)
Сергей.
А по телефону мне позвонить не получается? :-)
Ставить http://infostart.ru/public/77617/ и получить запас времени.
Далее сворачивать или переходить на SQL.
Ставить http://infostart.ru/public/15211/ общаясь со мной по телефону или Skype.
# Ответить
89. yra111 13.05.2013 16:07
1. Есть ли олее простой способ проверить активировалась ли KERNEL32.dll ,чем садить десяток бухгалтеров чтобы они писали в базу и читали одновременно и смотрели не скачут ли итоги?
2.У меняверсия 1с 7.70.026, работает на серверной 2003 винде через сервер терминалов,в инструкции сказано что тестировали на 018 версии 1с и 2000 винде,на 0.26 будет работать?
3.может быть есть у вас уже отредактированные ДЛЛ от 026 версии?
Ответили: (90)
# Ответить
90. hogik 15.05.2013 00:52
(89)
1) Использовать содержание Test.zip файла.
2) Тестировалось на 18,25,27 в Win2000,WinMe,WinXP,WinXPx64(ядро от Win2003x64).
В этих версиях файл DBEng32.dll не изменялся. Надеюсь, что и в 26 не изменялся.
3) Нет.
# Ответить
91. yra111 21.05.2013 17:24
если используеться распределённая ИБ, можно ли на основной базе юзать кернелл33, а на удалённой стандартные длл? Может ли чтото сломаться в базах в процессе обмена выгрузками?
Ответили: (92)
# Ответить
92. hogik 21.05.2013 21:13
(91)
Можно. Не сломается.
# Ответить
93. rеd80 21.05.2013 21:58
решение проблемы 1 гигабайта для DBFной версии 1С:Предприятие 7.7
Решение проблемы - 1С v8.
Ответили: (94)
# Ответить
94. hogik 21.05.2013 22:59
(93)
Вот, первые строчки из файла описания разработки:

"Kernel3x - решение проблемы 1 гигабайта для DBFной версии 1С:Предприятие 7.7
Разработано в 2001 году."©
# Ответить
95. yra111 23.05.2013 14:25
Поставил на терминалку 2003виндовс сервера - чтото периодически при запуске 1с рунтайм еррор вылезает, не всегда , но частенько.Что можно пошаманить попробовать?
Ответили: (97)
# Ответить
96. yra111 23.05.2013 14:32
ожидание захвата таблицы константы для записи... и потом этот самый еррор, перезагрузить сервак помогает но потом опять надо перезагружать через полдня..
Ответили: (97)
# Ответить
97. hogik 23.05.2013 17:00
(95)
"рунтайм еррор вылезает"(с)
Подробнее, пожалуйста. ;-)
(96)
"и потом этот самый еррор"(с)
Если есть подозрение на Kernel3x - отключите. И подождите раза три по "полдня"(с).
Отпишите о результатах...
# Ответить
98. porese 23.05.2013 17:40
не может из за него вылетать, опенконфиг не стоит случайно (из за него было не раз, лечилось переустановкой опенконфа). И кстати стоит сервер поставить 2008, по сравнению с 2003 - небо и земля, сбоев меньше гораздо и работает шустрее. может еще какие хуки стоят или зараза кернел перехватывает.
Кстати база весит 12 гигов (файл проводок 1.6 гиг, партии 1.4гиг...), использую хук на основе керлер33, но переписанный со слипом. Проблем нет. Если кому интересно выложу.
Ответили: (99) (100)
# Ответить
99. Ёпрст 23.05.2013 17:46
(98) опенконф никакого отношения к режиму "Предприятие" не имеет вообще, он только для Пофигуратора предназначен.
# Ответить
100. porese 24.05.2013 10:38
Если кого интересует (98) хук называется sleep_dbf_1g кинул на https://www.dropbox.com/sh/u8pc48stjuq4nvd/EGNstMZGm2
(99) если появляется только в режиме предприятия то да.
# Ответить
101. yra111 24.07.2013 05:27
При обрезке wrap-ом 7.7предприятия на этапе пометки на удаление документов всё вешаеться с ошибкой
error #:-120
write to file 1SBKTTL.DBF
kernell стоит, но дело возможно не в нем... база вся 4.4 гб, файл 1SBKTTL.DBF 2.15 Гб.
нп диске еще полтора гига свободных , возможно просто не влезает еще раз это файлик записать (2.15)
Ответили: (102) (120)
# Ответить
102. Ёпрст 24.07.2013 08:25
(101) предел для дбф - 2 гига.
Ты в него уперся.
Удали файло итогов и сделай пересчет.
+ 1 [ hogik; ]
# Ответить
103. yra111 24.07.2013 16:48
эм, так если сделать пересчет - оно снова 2+ ГБ настрогает.И вопрос - почему не при формировании остатков (когда фалик подрастает ),а при пометке на удаление?
Ответили: (104) (106)
# Ответить
104. Ёпрст 24.07.2013 16:52
(103)не настрогает.
# Ответить
105. Ёпрст 24.07.2013 16:53
и это, каждый раз при любом проведении/отмене проведения доков идет пересчет итогов как бэ..
у тебя там нулевых записей (те, в которых все числовые показатели по нулям) - до едрени фени в каждом квартале теперь. При пересчете, их не будет.
# Ответить
106. hogik 24.07.2013 19:59
(103)
Надеюсь, у Вас не используется для этого файла средство исправления другой проблемы:
http://infostart.ru/public/77617/
Ответили: (107)
# Ответить
107. yra111 25.07.2013 04:55
(106)нет, там вдвое меньше примерно.
по достижении файликом 2.147 ГБ вылезвает та самая ошибка.
Я так понял мне придеться сформировать итоги, и потом кусками помечать на удаление, и делать ТИИ базы в промежутках.

Я так понял,при отметки док-та на удаление проводки не стираються из файла, просто помечаються как неактивные?
Но всёже странно что файлик при этом увеличивает размер.
Ответили: (108)
# Ответить
108. Ёпрст 25.07.2013 08:59
(107) еще раз - идёт пересчет итогов.
# Ответить
109. a1ex4ndr 16.10.2013 11:53
Что то не увидел как подключать kernel33.dll - просто как обычную длл? Через regsvr32?
и кстати в архиве который скачивается в тхт про ограничения 1 гиг ничего, только:
В Kernel33.dll версия 2.0.0.1 внесен алгоритм задержки между опросами блокировки.
Время паузы в миллисекундах задаётся через переменную среды окружения - Kernel33.
Если переменная отсутствует или ее значение меньше или равно нулю, то пауза между
опросами блокировки не выполняется. Рекомендуемой значение от 10 до 100 миллисекунд.
Ответили: (110)
# Ответить
110. hogik 16.10.2013 20:18
(109)
Александр (a1ex4ndr).
Вы скачали т.н. изменения. Описание и тестирующая обработка в двух других файлах.
P.S. В старом "дизайне" сайта страница скачки была более наглядной.
P.P.S. Обязательно посмотрите (21) сообщение данной темы.
Ответили: (111)
# Ответить
111. a1ex4ndr 17.10.2013 09:37
(110)ок, спс
# Ответить
112. planod 21.11.2013 12:17
Позвольте уточнить: после установки kernel37.dll разработку http://infostart.ru/public/15367/ можно отключить?
Ответили: (113)
# Ответить
113. hogik 21.11.2013 17:11
(112) Да. Нужно отключить при использовании любой версии Kernel3x.
Ответили: (114)
# Ответить
114. planod 21.11.2013 18:11
(113) hogik, спасибо большое за уточнение.
А есть ли принципиальная разница между версиями 33 и 37? Выше у одного из участников конференции "взлетело" только версия 37...
Ответили: (115)
# Ответить
115. hogik 21.11.2013 18:27
(114)
Вроде, про это написано в описании.
Разница в том, что в 37 и вторую версию 33 включен алгоритм решения проблемы про 100%.
# Ответить
116. planod 25.11.2013 07:42
После установки, пользователи стали жаловаться на скорость работы. Подскажите, с чем это связано может быть?
Ответили: (117) (118)
# Ответить
117. hogik 25.11.2013 17:31
(116)
"с чем это связано"(с)
Связано с алгоритмом решения проблемы про 100%.
Скорее всего у Вас система работает в режиме терминал-сервер на не очень слабом железе в части количества CPU (ядер) и скорости CPU+RAM. Тогда надо ставить "вторую" версию и заниматься подбором времени ожидания вплоть до нулевого значения.
# Ответить
118. hogik 26.11.2013 02:43
(116)
Вот вспомнил. ;-)
Есть вариант задать алгоритм про 100% точно такой как в http://infostart.ru/public/15367/
Для этого надо в Kernel37.dll найти символы 0000010 и заменить их на 0000001.
# Ответить
119. bahus87 06.06.2014 10:47
Ткните чайнику... куда именно кидать Kernel37.dll?

Просто "каталог исполнительных модулей 1С" ни о чём не говорит, яндукс тоже...
Ответили: (121)
# Ответить
120. Ёпрст 06.06.2014 11:50
пилять, промазал
# Ответить
121. Ёпрст 06.06.2014 11:51
(119) в \bin\
+ 1 [ bahus87; ]
# Ответить
122. venera79 21.01.2016 07:36
Можете пояснить, что значит:
К базе данных не должно быть обращений из модифицированной и не модифицированной 1С одновременно, т.к. это приведет к порче базы данных.
Ответили: (123)
# Ответить
123. hogik 21.01.2016 17:10
(122)
Венера (venera79).
Если пользователи одновременно запускают сессии 1С по отношению к одной базе данных из разных каталогов исполнительных модифицированных и не модифицированных файлов, то будет использоваться различный алгоритм блокировки. А т.к. в СУБД блокировки используются для согласованной обработки информации несколькими задачами (сессиями), то "согласия" ;-) не будет.
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл






IE 2016