ООО "ЛесИС" - ГИС TOPOL-L для лесного хозяйства, лесоустройства и арендаторов лесного фонда
ООО "ЛесИС" - ГИС TOPOL-L для лесного хозяйства, лесоустройства и арендаторов лесного фонда
lesis@ya.ru
+7(916)615-42-77

ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L

Объявление

Для участия в работе закрытой, технической части форума нужно быть пользователем ГИС TopoL-L2 (10.0) и Зарегистрироваться!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L » РАБОТА С СОВМЕЩЕННЫМИ БАЗАМИ ТАКСАЦИИ И КАРТ » Ошибка при записи результата увязки площадей.


Ошибка при записи результата увязки площадей.

Сообщений 1 страница 16 из 16

1

Добрый день. При записи результата увязки в таксацию и карту на машине с установленной windows 10 выскакивает ошибка:  Превышено число блокировок файлов общего доступа. Увеличьте значение параметра реестра MaxLocksPerFile. Может кто-то знает как решить данную проблему?

2

Не сталкивался ещё с такой проблемой. Посмотрел исходный код программы - там выполняется много последовательных операций сохранения. В связи с этим хочу уточнить:
1. Это происходит при первой попытке сохранить результат увязки или Вы выполняли эту операцию несколько раз?
2. При сохранении может меняться надпись в формочке с индикаторами выполнения, какая надпись в момент возникновения ошибки?
3. При сохранении бежит индикатор выполнения, на каком проценте по верхней полоске возникает ошибка: 0%,  5%, 75%, 78%, 98%, 100% ?
4. В каком состоянии при этом индикатор внизу, т.е. нижняя полоска?
5. Записано ли что-то в протокол сохранения, BalancePl.log.rtf  и, если записано, то что?

Только после ответов на эти вопросы я смогу выявить примерное место, где может возникать проблема.

Отредактировано Дмитрий Александрович (01.04.2019 16:03:39)

3

1. Это происходит при первой попытке сохранить результат увязки или Вы выполняли эту операцию несколько раз?
На данном компьютере данная операция выполняется первый раз. В самой данной базе операцию проводили, но на другом ПК (была такая же проблема, но на нем установлена windows 7, и путем увеличения параметра реестра MaxLocksPerFile данная операция заработала, на данной машине это не помогает).
2. При сохранении может меняться надпись в формочке с индикаторами выполнения, какая надпись в момент возникновения ошибки?
Надпись никакая не возникает, форма просто закрывается.
3. При сохранении бежит индикатор выполнения, на каком проценте по верхней полоске возникает ошибка: 0%,  5%, 75%, 78%, 98%, 100% ?
Процент не написан. Но всегда по разному.
4. В каком состоянии при этом индикатор внизу, т.е. нижняя полоска?
Аналогично
5. Записано ли что-то в протокол сохранения, BalancePl.log.rtf  и, если записано, то что?
Превышено число блокировок файлов общего доступа. Увеличьте значение параметра реестра MaxLocksPerFile.

В процессе написания данного поста, в результате того-что много раз запускал данную операцию наблюдая за полосками, раз на двенадцатый операция завершилась успешно. Не понятно в чем причина. Потому что все делалось по одному и тому же алгоритму.

4

Была упомянута ошибка именно 78 %. Иногда она спонтанно возникает. Намертво. Что она означит и как с ней бороться?

5

lesproekt18
а у вас случайно антивирус работает в это время? если да попробуйте на 5 минут отключить и выполнить эту же операцию, что-то изменится?

6

Из Вашего исследования понятно только то, что проблема возникает не в какой-то конкретной операции (там есть запись в таксацию в таблицу кварталов, в таблицу выделов, в описания линейных выделов, в базу полигонов-выделов блока карты). Если бы слайдер застревал на одном конкретном месте (% явно числом не высвечивается, но он определяет длину верхней полоски), то можно было-бы оценить, какая операция сохранения выполняется при возникновении проблемы. А мы получаем только системное сообщение об ошибке из машины баз данных MDB - Microsoft.Jet.OLEDB.4.0, это составная часть Windows. У меня система работает и на Windows XP, и на Windows 10, многие наши пользователи используют Windows 7, и с такой проблемой я не помню, чтобы кто-то обращался.

Мне кажется, что это где-то на уровне системы и машины баз данных / database engine Microsoft.Jet.OLEDB.4.0. Не работает впараллель с TopoL-ем ещё какая-то программа, активно использующая эту машину (например, Access)? Может как-то попробовать обновить эту машину баз данных?
На этой машине баз данных работают и все наши базы, и базы самой ГИС, странно, что проблема возникает именно в конкретной операции.

7

Алексей Курагин написал(а):

lesproekt18
а у вас случайно антивирус работает в это время? если да попробуйте на 5 минут отключить и выполнить эту же операцию, что-то изменится?

Нет, антивирус в это время не работает.

8

glkhramov написал(а):

Была упомянута ошибка именно 78 %. Иногда она спонтанно возникает. Намертво.

Положение 75% - после записи площадей выделов в таксационную базу; 78% - после записи параметров линейных выделов в карту; далее выполняется распределение площадей между полигонами выдела (если необходимо) и запись площадей выделов в карту.

Я сделаю в этой функции дополнительные пояснения в контроле ошибок, чтобы сообщения были более внятными. Будет в следующей версии.

9

В 788 версии реализован расширенный контроль системных ошибок при записи в базу после увязки и добавлена запись в журнал исполнения TopoL_L2.log после каждой завершённой операции.

10

Добрый день!
При сохранении результата увязки - в таксацию и карту программа выводит сообщение

(Ошибка при записи площадей и описаний выделов : Превышено число блокировок файлов общего доступа. Увеличьте значение параметра реестра MaxLocksPerFile)

Дмитрий Александрович написал(а):

В 788 версии реализован расширенный контроль системных ошибок при записи в базу после увязки и добавлена запись в журнал исполнения TopoL_L2.log после каждой завершённой операции.

Данный файл не нашел, напишите подробнее о месте расположения если оно актуально в новых версиях.

Версии программы: 10.0.27.852 и 10.0.27.844 пробовали на двух разных версиях, ошибка повторяется.
Порядок действий: совмещение и увязка площадей, установка типов выделов и их сохранение (типы выделов сохраняются), записываем площадь лесничества, увязать все основываясь на заданной площади лесничества (увязка проходит, без замечаний), результат увязки - в таксацию и карту (в протоколе операций сообщение: Запись площадей в таксацию. Замечаний нет.), (журнал сообщений выводит ошибку указанную в начале сообщения)

11

MLP написал(а):

Данный файл не нашел,

Этот файл создаётся и в него идёт запись после каждой выполненной операции только в специальном режиме запуска программы, с ключом. Этот режим используется, чтобы выявить место, где возникает проблема, нормально это отключено, чтобы не притормаживать работу программы.

Что касается Вашей проблемы, протокол здесь вряд-ли поможет, операцию, при которой она возникает, Вы сами нашли. Я с такой проблемой на TopoL_L 10 версии не сталкивался, что-то подобное (но не совсем такое) было на 6.8, где формат повыдельной базы и базы в блоках был DBF.

Проблема явно возникает с машиной баз данных Microsoft\Jet\4.0\Engines\Jet 4.0, поэтому перестановка разных версий нашей программы ничего не меняет. То есть надо искать источник проблемы и решение в Windows на Вашей машине. Не может кто-то пытаться впалаллель получать доступ к тем же базам и открывать их в режиме приоритетного доступа?

12

MLP написал(а):

(журнал сообщений выводит ошибку указанную в начале сообщения)

Посмотреть надо на последовательность сообщений на странице "Протоколы операций", там выполняется запись в разные базы и таблицы в них, в повыдельную и в базу повыдельного блока в ГИС, тогда можно попытаться понять, на каком этапе проблема возникает. До этого большинство сохранений идём в памяти, запись в базу - явная операция для фиксации результата увязки.

13

MLP написал(а):

Данный файл не нашел, напишите подробнее о месте расположения если оно актуально в новых версиях.

Дмитрий Александрович написал(а):

Этот файл создаётся и в него идёт запись после каждой выполненной операции только в специальном режиме запуска программы, с ключом.

На будущее, поскольку для данной проблемы не актуально, режим ведения протокола можно включать - выключать утилитой:
http://www.lesis.ru/support/lesis_test.html

У меня на Win 10*64 параметр MaxLocksPerFile сидит по следующим адресам:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Jet\4.0\Engines\Jet 3.x
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Jet\4.0\Engines\Jet 4.0
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Jet 3.x
Всюду имеет шестнадцатиричное значение 251c (9500).

14

Грешнов написал(а):

У меня на Win 10*64 параметр MaxLocksPerFile сидит ...

У меня всё также, отличия только в части Office (где-то есть такой параметр, где-то нет), но там это зависит, похоже от версии Office.

15

Увеличили количество блокировок в трех файлах все заработало.

16

https://docs.microsoft.com/ru-ru/office … t-exceeded

подробнее о решении описано по ссылке.


Вы здесь » ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L » РАБОТА С СОВМЕЩЕННЫМИ БАЗАМИ ТАКСАЦИИ И КАРТ » Ошибка при записи результата увязки площадей.



Почтовый адрес для ЗАКАЗНЫХ писем:
С.П.Грешнов, +7(916)615-42-77, 108832, А/Я №1
НЕ ИСПОЛЬЗОВАТЬ курьерскую доставку!!!
E-Mail: lesis@ya.ru
Вопросы общего характера:
+7(916)615-42-77
РОССИЙСКАЯ ФЕДЕРАЦИЯ
Общество с ограниченной ответственностью "ЛЕСИС"
ОГРН: 1035007204902, ИНН: 5036046400, КПП: 503601001