注册

springboot+mybatis plus+DM8:Cause: dm.jdbc.driver.DMException: 第 37 行, 第 35 列[]附近出现错误: 语法分析出错

西瓜 2024/06/07 628 4

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.1.2.79
【操作系统】:Windows
【CPU】因特尔i5
【问题描述】*:执行insert操作时报错:

Error updating database. Cause: dm.jdbc.driver.DMException: 第 37 行, 第 35 列[]附近出现错误:

语法分析出错

The error may exist in net/pidata/quartz/dao/ScheduleJobDao.java (best guess)

The error may involve net.pidata.quartz.dao.ScheduleJobDao.insert

The error occurred while executing an update

SQL: INSERT INTO schedule_job ( creator, create_time, updater, update_time, version, deleted, project_id, job_type, job_name, job_group, bean_name, method, params, cron_expression, status, concurrent, remark, once ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )

Cause: dm.jdbc.driver.DMException: 第 37 行, 第 35 列[]附近出现错误:

语法分析出错
; bad SQL grammar []; nested exception is dm.jdbc.driver.DMException: 第 37 行, 第 35 列[]附近出现错误:
语法分析出错
org.springframework.jdbc.BadSqlGrammarException:

Error updating database. Cause: dm.jdbc.driver.DMException: 第 37 行, 第 35 列[]附近出现错误:

语法分析出错。
附实体类:

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("schedule_job")
public class ScheduleJobEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;

	/**
	 * 创建者
	 */
	@TableField(fill = FieldFill.INSERT)
	private Long creator;

	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;

	/**
	 * 更新者
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Long updater;

	/**
	 * 更新时间
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Date updateTime;

	/**
	 * 版本号
	 */
	@Version
	@TableField(fill = FieldFill.INSERT)
	private Integer version;

	/**
	 * 删除标记
	 */
	@TableLogic
	@TableField(fill = FieldFill.INSERT)
	private Integer deleted;

	private Long projectId;
	private Long typeId;
	private Integer jobType;
	/**
	 * 任务名称
	 */
	private String jobName;

	/**
	 * 任务组名
	 */
	private String jobGroup;

	/**
	 * bean名称
	 */
	private String beanName;

	/**
	 * 执行方法
	 */
	private String method;

	/**
	 * 方法参数
	 */
	private String params;

	/**
	 * cron表达式
	 */
	private String cronExpression;

	/**
	 * 状态
	 */
	private Integer status;

	/**
	 * 是否并发  0:禁止  1:允许
	 */
	private Integer concurrent;

	/**
	 * 备注
	 */
	private String remark;

	@TableField(exist = false)
	private boolean saveLog;

	private Boolean once;

	//1-自动调度 2-手动触发
	@TableField(exist = false)
	private Integer runType;
	@TableField(exist = false)
	private String executeNo;

}

数据库已通过
sp_set_para_string_value(2,'EXCLUDE_RESERVED_WORDS','once');
sp_set_para_string_value(2,'EXCLUDE_RESERVED_WORDS','version');
排除关键字,初始化实例时为大小写不敏感。
现在唯一可以插入的方式就是把主键id名字修改为除id外其他的其他名称,如:sch_id,就可以插入成功。
但是这种方式不是最终解决办法,有没有大佬遇到过这种问题?
修改、查询、删除都不报错,只有新增不好用。

回答 0
暂无回答
扫一扫
联系客服