powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Превышено число блокировок файлов общего доступа
13 сообщений из 13, страница 1 из 1
Превышено число блокировок файлов общего доступа
    #32581439
Benzin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сообщение получаю при попытке открыть запрос на изменение в режиме таблицы, либо пытаясь его просто запустить. Если запустить команду
Код: plaintext
CurrentDb.Execute "Запрос"
, то возвращается ошибка: "Недостаточно памяти (ошибка 2004)".
Запрос должен обновить ~ 100 тыс. записей. Число блокировок, по умолчанию, равно 9500. А где его поменять и какое максимальное число можно указывать?
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581445
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Параметр MaxLocksPerFile в Registry. Только надо исправлять в ветке, которая относится к правильной версии Аксесса.
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581454
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или цикл сделай RecordSet-ом
.Edit

.Update

ему число записей по барабану
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581461
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Shuhardили цикл сделай RecordSet-ом
.Edit

.Update

ему число записей по барабану
Таки нет. У меня валился именно цикл из-за этого параметра.
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581464
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч Shuhardили цикл сделай RecordSet-ом
.Edit

.Update

ему число записей по барабану
Таки нет. У меня валился именно цикл из-за этого параметра.
не верю!
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581485
Benzin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про MaxLocksPerFile в Хелпе вычитал, что можно через SetOption прямо в коде поменять значение в реестре, причем изменения будут действовать только до закрытия программы. Осталось неясным: можно, например, указать этот параметр =200000? А пользователей всех выгонять? А то я как блокирну столько записей, у всех все базы и встанут...
А циклом это как? 2 таблицы связаны тремя полями, данные из одной обновляют записи в другой. Что-то у меня цикл не вытанцовывается.
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581504
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Shuhardне верю!
Я сам себе не верил. Но ошибка вылетала именно эта, и после исправления этого параметра все исправлялось. Могу предположить, что Аксесс какое-то время после rs.Update еще держит блокировку и снимает ее асинхронно. Если записей много, то происходит превышение.
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581532
Benzin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни хрена не выходит! Пишу:
Код: plaintext
DBEngine.SetOption dbMaxLocksPerFile,  500000 
, строка проскакивает без вопросов, запускаю запрос - опять то же сообщение, меняю параметр на миллион(!) - без толку!
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581551
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BenzinНи хрена не выходит! Пишу:
Код: plaintext
DBEngine.SetOption dbMaxLocksPerFile,  500000 
, строка проскакивает без вопросов, запускаю запрос - опять то же сообщение, меняю параметр на миллион(!) - без толку!
разрешь любой Where запрос на части - посмотри будет-ли работать при меньшем числе записей
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581582
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
BenzinНи хрена не выходит! Пишу:
Код: plaintext
DBEngine.SetOption dbMaxLocksPerFile,  500000 
, строка проскакивает без вопросов, запускаю запрос - опять то же сообщение, меняю параметр на миллион(!) - без толку!
А если руками через regedit?
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581609
Benzin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВС:
руками попробывать-то могу, но дело в том, что это обновление уйдет в филиалы(в т.ч. и в другие города), а там некому руками реестр ковырять.
2 Shuchard:
Как разрезать, чем части "обозначить"?

Изменил запрос на изменение в запрос на выборку - опять превышено число!
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581621
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Benzin2 ВС:
руками попробывать-то могу, но дело в том, что это обновление уйдет в филиалы(в т.ч. и в другие города), а там некому руками реестр ковырять.
2 Shuchard:
Как разрезать, чем части "обозначить"?

Изменил запрос на изменение в запрос на выборку - опять превышено число!

1 реестр ковырять легко на выбор
- сделай файлик с расширением reg
- через API

RegOpenKeyEx Lib "advapi32.dll" ...

2 по любому идентификатору в таблицах возьми where какаой-то_тамid<10000
...
Рейтинг: 0 / 0
Превышено число блокировок файлов общего доступа
    #32581638
Benzin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Закрыл базу, перезагрузил комп, запрос стал открываться(записей оказалось 127203).
Может все дело было в том, что я сначала пытался проделать такое:
Код: plaintext
1.
2.
DBEngine.Workspaces( 0 ).BeginTrans
CurrentDb.Execute "Запрос"
Workspaces( 0 ).Rollback
, Rollbac включил намеренно - хотел просто посмотреть отработает ли запрос. На строке с Execute получил сообщение о нехватке памяти, закомментил ее, чтобы отработал Rollback, а потом начали сыпаться сообщения о превышении блокировки.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Превышено число блокировок файлов общего доступа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]