gpt4 book ai didi

azure - 如何配置 Quartz.net 以使用 Azure SQL 数据库来存储 ADOJobStore 详细信息

转载 作者:行者123 更新时间:2023-12-02 20:14:01 24 4
gpt4 key购买 nike

我使用quartz.net 作为 Microsoft Azure Web 角色中的调度程序。如果我使用 RamDataStore,我可以让 Quartz.net 正常工作。但是,我想将其分为两个部分:第一个部分允许通过 Web 界面调度作业,第二个部分将通过辅助角色执行作业。为了进行这种分布式处理,我需要使用 ADOJobStore。

RamDataStore 一切正常,但当我尝试切换到 ADOJobStore 时,一切都崩溃了。所以这让我相信我的属性(property)中缺少一些东西。我正在使用 Azure SQL 数据库,虽然这与 SQL Server 类似,但存在一些有时会导致问题的问题。

我在VS2010中使用Quartz.net 2.0(来自nuGet),数据库是Azure SQL。

当我调用 .GetScheduler() 时,出现以下异常:

{"JobStore type 'Quartz.Impl.AdoJobStore.JobStoreTX' props could not be configured."}

详细信息:

{"Could not parse property 'default.connectionString' into correct data type: No writable property 'Default.connectionString' found"}

我的连接代码(包括以编程方式设置的属性):

        NameValueCollection properties = new NameValueCollection();
properties["quartz.scheduler.instanceName"] = "SchedulingServer";
properties["quartz.threadPool.type"] = "Quartz.Simpl.ZeroSizeThreadPool, Quartz";

properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz";
properties["quartz.jobStore.tablePrefix"] = "QRTZ_";
properties["quartz.jobStore.clustered"] = "false";
properties["quartz.jobStore.driverDelegateType"] = "Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz";

properties["quartz.jobStore.dataSource"] = "default";
properties["quartz.jobStore.default.connectionString"] = "Server=tcp:serverName.database.windows.net;Database=scheduler;User ID=scheduler@serverName;Password=***;Trusted_Connection=False;Encrypt=True;";
properties["quartz.jobStore.default.provider"] = "SqlServer-20";
properties["quartz.jobStore.useProperties"] = "true";

ISchedulerFactory sf = new StdSchedulerFactory(properties);
_scheduler = sf.GetScheduler();

如有任何帮助或建议,我们将不胜感激。

最佳答案

您的数据源属性命名中有一个小但微妙的错误,它应该是:

properties["quartz.dataSource.default.connectionString"] = "Server=tcp:serverName.database.windows.net;Database=scheduler;User ID=scheduler@serverName;Password=***;Trusted_Connection=False;Encrypt=True;";

如果您想使用配置文件的连接字符串部分,还有一个属性connectionStringName

关于azure - 如何配置 Quartz.net 以使用 Azure SQL 数据库来存储 ADOJobStore 详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12608032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com