为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:centos7
【CPU】:x86
【问题描述】*:
启动程序,报出如下异常
Caused by: dm.jdbc.driver.DMException: 违反引用约束[QRTZ_CRON_TRIGGERS_IBFK_1]
at dm.jdbc.driver.DBError.throwException(SourceFile:711)
查看表:
select * from root.qrtz_cron_triggers;
select * from root.qrtz_triggers;
这两个表里的数据是有关联的。
建表脚本如下
CREATE TABLE "ROOT"."QRTZ_CRON_TRIGGERS"
(
"SCHED_NAME" VARCHAR(120) NOT NULL,
"TRIGGER_NAME" VARCHAR(200) NOT NULL,
"TRIGGER_GROUP" VARCHAR(200) NOT NULL,
"CRON_EXPRESSION" VARCHAR(200) NOT NULL,
"TIME_ZONE_ID" VARCHAR(80) NULL
);
CREATE TABLE "ROOT"."QRTZ_TRIGGERS"
(
"SCHED_NAME" VARCHAR(120) NOT NULL,
"TRIGGER_NAME" VARCHAR(200) NOT NULL,
"TRIGGER_GROUP" VARCHAR(200) NOT NULL,
"JOB_NAME" VARCHAR(200) NOT NULL,
"JOB_GROUP" VARCHAR(200) NOT NULL,
"DESCRIPTION" VARCHAR(250) NULL,
"NEXT_FIRE_TIME" BIGINT NULL,
"PREV_FIRE_TIME" BIGINT NULL,
"PRIORITY" INT NULL,
"TRIGGER_STATE" VARCHAR(16) NOT NULL,
"TRIGGER_TYPE" VARCHAR(8) NOT NULL,
"START_TIME" BIGINT NOT NULL,
"END_TIME" BIGINT NULL,
"CALENDAR_NAME" VARCHAR(200) NULL,
"MISFIRE_INSTR" SMALLINT NULL,
"JOB_DATA" BLOB NULL
);
ALTER TABLE "ROOT"."QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "QRTZ_CRON_TRIGGERS_IBFK_1" FOREIGN KEY("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP") REFERENCES "ROOT"."QRTZ_TRIGGERS"("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP") with index ;
ALTER TABLE "ROOT"."QRTZ_TRIGGERS" ADD CONSTRAINT "QRTZ_TRIGGERS_IBFK_1" FOREIGN KEY("SCHED_NAME","JOB_NAME","JOB_GROUP") REFERENCES "ROOT"."QRTZ_JOB_DETAILS"("SCHED_NAME","JOB_NAME","JOB_GROUP") with index ;
看一下3.5.1.1的14点这块关于引用约束的定义定义数据库基表,排查下数据~
