1.报错Caused by: java,sql.SOLException Create breakpoint . : 发生语法错误。
- 程序与数据库通过jdbc连接时,为了保持连接,会向数据库发送sql语句验证连接有效
--如mysql的其他数据库
connection-test-query: "select 1;"
--gbase8s数据库需要修改
connection-test-query: "select 1 from dual;"
2.报错org.quartz.JobPersistenceException: Failure identifying failed instances when checking-in: 无此列名
现场场景使用的jdbc串:
jdbc:gbasedbt-sqli://IP地址:9088/数据库名:GBASEDBTSERVER=实例名;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;GL_USEGLU=1;DELIMIDENT=Y
将参数DELIMIDENT=Y去掉
jdbc:gbasedbt-sqli://IP地址:9088/数据库名:GBASEDBTSERVER=实例名;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;GL_USEGLU=1;
3.报错 create breakpoint:failure obtaining db row lock :语句不在事务中
- 这是跟sql语法有关,其他数据库支持select * form table for update语法,但是gbase8s对这种语法不支持,所以需要删除sql语句中的for update
- 或者需要添加或者修改配置参数org.quartz.jobStore.selectWithLockSQL
--其他数据库的配置
selectwithLockSOL:SELECT *FROM {O} WHERE {1}=? AND {2}= ? for update
--gbase8s需要去掉for update
selectwithLockSOL:SELECT *FROM {O} WHERE {1}=? AND {2}= ?
4.报错 org.quartz.impl.jdbcjobstore.LockException Create breakpoint o ungma*: Failure obtaining db row lock: 发生语法错误。
- 这里本次调整同样是修改了配置参数org.quartz.jobStore.selectWithLockSQL
org.quartz.jobStore.selectWithLockSQL= SELECT * FROM {0}LOCKS WHERE SCHED_NAME = {1} AND LOCK_NAME = ?
标签:quartz,gbase8s,适配,数据库,报错,utf8,org
From: https://blog.csdn.net/qq_59083851/article/details/140163514