我正在尝试使用AdoJobStore使用Quartz API调度作业。
这是应用程序配置文件的内容(作为Windows服务的一部分提供)。
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="quartz"
type="System.Configuration.NameValueSectionHandler" />
</configSections>
<quartz>
<add key="quartz.scheduler.instanceName" value="ServerScheduler" />
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="2" />
<add key="quartz.jobStore.misfireThreshold" value="60000" />
<add key="quartz.jobStore.useProperties" value="true" />
<add key="quartz.jobStore.clustered" value="true" />
<add key="quartz.jobStore.lockHandler.type" value="Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz" />
<add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
<add key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.StdAdoDelegate, Quartz" />
<add key="quartz.jobStore.dataSource" value="quartzDS" />
<add key="quartz.dataSource.quartzDS.connectionString" value="Data Source=LocalDB;User ID=wesly;Password=XXXXX" />
<add key="quartz.dataSource.quartzDS.provider" value="OracleClient-20 " />
</quartz>
</configuration>
当我启动Windows服务时,我收到以下错误格式化并写入日志:
异常来源:Quartz异常方法:Quartz.IScheduler Instantiate()异常StackTrace:at Quartz.Impl.StdSchedulerFactory.Instantiate()in C:\工作\开源\ Quartz.NET \ quartznet的\ src \水晶\默认地将Impl \ StdSchedulerFactory.cs:行 1044在Quartz.Impl.StdSchedulerFactory.GetScheduler()中 C:\工作\开源\ Quartz.NET \ quartznet的\ src \水晶\默认地将Impl \ StdSchedulerFactory.cs:行 1118在SampleJobScheduling.ScheduleJob.Run()中 C:\ Users \ jwesly \ documents \ visual studio 2010 \项目\ SampleJobScheduling \ SampleJobScheduling \ ScheduleJob.cs:行 25异常消息:无法初始化DataSource:quartzDS
我正在使用Oracle 11g Express Edition。架构是WESLY
请帮助!!!
答案 0 :(得分:2)
我在配置mssql时遇到了同样的问题。 旧设置如下:
["quartz.dataSource.default.provider"] = "SqlServer-20"
我必须更改为:
["quartz.dataSource.default.provider"] = "SqlServer",
["quartz.serializer.type"] = "binary"
感谢nimeresam
答案 1 :(得分:1)
使用quartz.net的第3版后,我遇到了这个例外 根据第3版的BREAKING CHANGES;提供者类型被简化 它无法读取旧的提供程序类型,因此数据源无法初始化 你应该改变:
<add key="quartz.dataSource.quartzDS.provider" value="OracleClient-20 "/>
为:
<add key="quartz.dataSource.quartzDS.provider" value="OracleODP" />
你应该添加序列化器类型属性,如:
<add key="quartz.serializer.type" value="binary" />
因为您没有使用 RamJobStore 在这里阅读:Version Migration Guide