0

我正在使用 jdbcstore 实现 Quartz 调度程序。我遇到了异常,例如 qrtz_TRIGGERS 不可用。

2013-05-03 07:58:38,211 -  - DEBUG, [main], com.mchange.v2.c3p0.impl.DefaultConnectionTester, Testing a Connection in response to an Exception:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'myData.qrtz_TRIGGERS' doesn't exist

但实际上我的数据库中有表,表名是qrtz_triggers。表名都是小写字母。那么如何解决这个问题以及下面的我的石英属性

org.quartz.scheduler.instanceName = APP1_SCHEDULER
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 4
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

#specify the jobstore used
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties = false

#The datasource for the jobstore that is to be used
org.quartz.jobStore.dataSource = myDS

#quartz table prefixes in the database
org.quartz.jobStore.tablePrefix = qrtz_
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.isClustered = false

#The details of the datasource specified previously
org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver
org.quartz.dataSource.myDS.URL = jdbc:mysql://localhost:3306/myData
org.quartz.dataSource.myDS.user = root
org.quartz.dataSource.myDS.password = root
org.quartz.dataSource.myDS.maxConnections = 20
4

3 回答 3

1

尝试将您的表重命名为 qrtz_TRIGGERS?看起来这就是调度程序正在寻找的。

于 2013-05-03T19:04:03.780 回答
1

一般来说:

数据库和表名在 Windows 中不区分大小写,在大多数 Unix 版本中区分大小写。所以 qrtz_TRIGGERS 和 qrtz_triggers 在你的情况下是不同的。

快速浏览: MySQL 中的表名是否区分大小写?

于 2019-06-24T10:06:51.893 回答
0

可能你的 db 是区分大小写的,你应该相应地更新你的配置文件 my.cnf ......

下面的帮助页面链接用于使 linux 机器上的 mysaql 不区分大小写: https ://dba.stackexchange.com/questions/59407/how-to-make-mysql-table-name-case-insensitive-in-ubuntu

于 2016-07-11T20:12:27.673 回答