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 に答える
0

おそらく、データベースは大文字と小文字を区別します。それに応じて構成ファイル 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 に答える