将Quartz连接到MS Sql Server

Ale*_*123 3 quartz-scheduler quartz.net

我是Quartz Job Scheduler的新手,我可能会问一些愚蠢的问题,但是......我在将Quartz.Server.2010连接到MS Sql Server 2012时遇到了麻烦.

我创建了一些工作正常但无法与SQL Server建立连接的作业.

我在quartz.config文件中编写了代码,但是我一直收到一个无法解决的错误:

"服务异常终止,Topshelf.ServiceBuilderException:创建服务时发生异常:QuartzServer ---> Quartz.SchedulerException:未为DataSource指定提供者:default"

即使我在App.config文件中设置了提供程序:

可能是我的问题?

gra*_*der 6

精简版:

你有这个吗?

 <add key="quartz.dataSource.default.provider" value="SqlServer-20"/>
Run Code Online (Sandbox Code Playgroud)

更长版本:

"默认"一词没有超级特殊含义.在我下面的.config中,我使用了"MySqlServerFullVersion".

但下面是一个功能齐全的Quartz.Impl.AdoJobStore.JobStoreTX

<quartz>

    <add key="quartz.scheduler.instanceName" value="ExampleDefaultQuartzSchedulerFromConfigFileSqlServer"/>
    <add key="quartz.scheduler.instanceId" value="instance_one"/>
    <add key="quartz.threadPool.threadCount" value="10"/>
    <add key="quartz.threadPool.threadPriority" value="Normal"/>

    <!-- 
    org.quartz.scheduler.idleWaitTime
    Is the amount of time in milliseconds that the scheduler will wait before re-queries for available triggers when the scheduler is otherwise idle. Normally you should not have to 'tune' this parameter, unless you're using XA transactions, and are having problems with delayed firings of triggers that should fire immediately.
    It defaults to every 30 seconds until it finds a trigger. Once it finds any triggers, it gets the time of the next trigger to fire and stops checking until then, unless a trigger changes.   -->
    <add key="quartz.scheduler.idleWaitTime" value ="5000"/>

    <!-- Misfire : see http://nurkiewicz.blogspot.com/2012/04/quartz-scheduler-misfire-instructions.html  -->
    <add key="quartz.jobStore.misfireThreshold" value="60000"/>
    <add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz"/>
    <add key="quartz.jobStore.tablePrefix" value="QRTZ_"/>
    <add key="quartz.jobStore.clustered" value="false"/>
    <add key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz"/>


    <add key="quartz.jobStore.dataSource" value="MySqlServerFullVersion"/>

    <!-- 
    <add key="quartz.jobStore.dataSource" value="MySqlServerCe40"/>
    -->
    <!-- 
    <add key="quartz.jobStore.dataSource" value="MySqlServerCe351"/>
    -->



    <add key="quartz.dataSource.MySqlServerFullVersion.connectionString" value="Server=MyServer\MyInstance;Database=MyQuartzDB;Trusted_Connection=True;Application Name='quartz_config';"/>
    <add key="quartz.dataSource.MySqlServerFullVersion.provider" value="SqlServer-20"/>


    <!-- 
    <add key="quartz.dataSource.MySqlServerCe40.connectionString" value="Data Source=C:\quartznet\quartz2-sqlce4.sdf;Persist Security Info=False;"/>
    <add key="quartz.dataSource.MySqlServerCe40.provider" value="SqlServerCe-400"/>
    -->

    <!-- 
    <add key="quartz.dataSource.MySqlServerCe351.connectionString" value="Data Source=C:\quartznet\quartz2-sqlce35.sdf;Persist Security Info=False;"/>
    <add key="quartz.dataSource.MySqlServerCe351.provider" value="SqlServerCe-351"/>
    -->



</quartz>
Run Code Online (Sandbox Code Playgroud)

PS

你创建了一个DB,对吗?

https://github.com/MassTransit/MassTransit-Quartz/blob/master/setup_sql_server.sql