我想測試Quartz.NET 3.0 for .NET Core的SQL數據庫功能。不幸的是,我無法正確配置StdSchedulerFactory
,我總是打電話當出現以下情況例外:提供者'SqlServer-20'沒有元數據信息
var configuration = new NameValueCollection
{
{ "quartz.jobStore.type", "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" },
{ "quartz.jobStore.driverDelegateType", "Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz" },
{ "quartz.jobStore.tablePrefix", "QRTZ_" },
{ "quartz.jobStore.dataSource", "default" },
{ "quartz.dataSource.default.connectionString", "Server=(localdb)\\mssqllocaldb;Database=QuartzTest;Trusted_Connection=True;MultipleActiveResultSets=true" },
{ "quartz.dataSource.default.provider", "SqlServer-20" },
{ "quartz.jobStore.useProperties", "true" },
{ "quartz.serializer.type", "json" }
};
var schedulerFactory = new StdSchedulerFactory(configuration);
,你可以:
System.ArgumentOutOfRangeException:
There is no metadata information for provider 'SqlServer-20'
Parameter name: providerName
at Quartz.Impl.AdoJobStore.Common.DbProvider.GetDbMetadata(String providerName)
at Quartz.Impl.AdoJobStore.Common.DbProvider..ctor(String dbProviderName, String connectionString)
at Quartz.Impl.StdSchedulerFactory.<Instantiate>d__66.MoveNext()
我用下列值配置的工廠看,我目前的目標是LocalDB(v12.0.2000)。我也在SQL Server Express上檢查過它 - 結果相同。
如何避免此異常?
- 我是否錯過任何應該配置的屬性?
- 我必須爲數據庫提供一些數據嗎?我只執行了
tables_sqlServer.sql
腳本。 - SqlServer-20數據庫驅動程序應該作爲.NET 3.5的一部分安裝,還是需要單獨安裝?
- Quartz.NET目前不支持.NET Core的這個功能嗎?我正在使用版本3.0.0-alpha2。
- 我應該定位其他NuGet包嗎?我引用的石英和Quartz.Serialization.Json
它的工作原理!我正在使用.net Core 2和Quartz 3 –