Не удалось получить блокировку строки базы данных: в таблице QRTZ_LOCKS не существует строки для блокировки с именем: TRIGGER_ACCESS
Я новичок в планировщике Quartz и использую его с пружиной... Когда я попытался запустить файл XML, содержащий конфигурацию Quartz, я получил исключение, заявив, что:
Failure obtaining db row lock: No row exists in table QRTZ_LOCKS for lock named:
TRIGGER_ACCESS
Я обнаружил, что таблица QRTZ_LOCKS содержит два поля: SCHED_NAME и LOCK_NAME и что мне нужно выполнить следующие операторы в моей базе данных:
INSERT INTO QRTZ_LOCKS values('my sched_name', 'TRIGGER_ACCESS');
INSERT INTO QRTZ_LOCKS values('my sched_name','JOB_ACCESS');
INSERT INTO QRTZ_LOCKS values('my sched_name','CALENDAR_ACCESS');
INSERT INTO QRTZ_LOCKS values('my sched_name','STATE_ACCESS');
INSERT INTO QRTZ_LOCKS values('my sched_name','MISFIRE_ACCESS');
но я понятия не имею, каково мое sched_name??
Любая идея??
3 ответа
Вам просто нужно бежать
INSERT INTO QRTZ_LOCKS values('TRIGGER_ACCESS');
INSERT INTO QRTZ_LOCKS values('JOB_ACCESS');
INSERT INTO QRTZ_LOCKS values('CALENDAR_ACCESS');
INSERT INTO QRTZ_LOCKS values('STATE_ACCESS');
INSERT INTO QRTZ_LOCKS values('MISFIRE_ACCESS');
Это сработало для меня на самом деле. Остановил ошибку как минимум.
Скорее всего, это потому, что вы получили табличные сценарии из более новой версии Quartz, чем вы применяете в своем приложении.
Если вы используете Spring, то у вас должен быть Quartz 1.8.x.
Здесь вы можете найти версию 1.8.6
Примечание: внутри этого файла tar.gz есть другой файл без расширения. Это zip-файл, который содержит папку с именем doc. Там вы можете найти скрипт для нескольких баз данных.
Никаких ручных изменений данных не требуется.
*my_sched_name* можно получить из таблицы qrtz_job_details
(Sched_name). У вас должна быть проблема с вашей конфигурацией / развертыванием кварца, потому что обычно вам не нужно вставлять / обновлять эти таблицы вручную.
Обычно вы получаете эти ошибки, когда у вас нет таблиц db, связанных с кварцем, в вашем db.
Иногда вы можете получить эти ошибки при миграции, даже если у вас есть таблицы db. Пожалуйста, проверьте, есть ли несколько изменений в db_schema для кварцевых 1.8 и кварцевых 2.x.
Ниже приведена ссылка на скрипты 2.x db, это должно отлично работать.
вы тоже можете проверить это:https://github.com/quartznet/quartznet/blob/master/database/tables/tables_oracle.sql