为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:麒麟V10
【CPU】: Intel(R) Xeon(R) CPU E5-2603 v3 @ 1.60GHz
【问题描述】*:
在项目中执行报错:dm.jdbc.driver.DMException: 第 3 行, 第 55 列[?]附近出现错误:
XML:SELECT t.id FROM xxl_job_registry AS t WHERE t.update_time <![CDATA[ < ]]> DATE_SUB(#{nowTime},INTERVAL #{timeout} SECOND)
SQL: SELECT t.id FROM xxl_job_registry AS t WHERE t.update_time < DATE_SUB(?,INTERVAL ? SECOND)
Dao参数: 第一个Date类型:当前时间,第二个int类型:90
在客户端执行没问题:
这里这样改一下试试:
SELECT t.id FROM xxl_job_registry AS t WHERE t.update_time DATE_SUB(#{nowTime},INTERVAL ${timeout} SECOND)
因为INTERVAL ? SECOND的语法是不支持的。
先确保dm.jdbc.driver的驱动与数据库版本是否一致,不一致的话先更换一致后再看下情况。