Не удалось получить блокировку строки базы данных: в таблице 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, это должно отлично работать.

2.x: https://github.com/elventear/quartz-scheduler/blob/master/distribution/src/main/assembly/root/docs/dbTables/tables_mysql.sql

вы тоже можете проверить это:https://github.com/quartznet/quartznet/blob/master/database/tables/tables_oracle.sql

Другие вопросы по тегам