我花了大部分时间试图让Quartz.net在Azure工作角色中运行。它使用SQL Azure实例作为其持久存储。
我得到的配置如下:
quartz.jobStore.type=Quartz.Impl.AdoJobStore.JobStoreTX, Quartz
quartz.jobStore.driverDelegateType=Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz
quartz.jobStore.tablePrefix=QRTZ_
quartz.jobStore.dataSource=myDS
quartz.dataSource.myDS.connectionString=Server=xxx,1433;Database=xxx;User ID=xxx@xxx;Password=xxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;
quartz.dataSource.myDS.provider=SqlServer-20
要创建架构,我使用了Quartz.net zip文件中的脚本。实际上,我尝试了其中两个:
他们在我下载的Quartz.NET-2.2.1.zip中。我必须删除第一个脚本的ON [PRIMARY]
语句中的ALTER TABLE
才能使其工作;否则它抱怨'此版本的SQL Server不支持'文件组引用和分区方案'。'
第二个没有修改就行了。
无论我使用哪个脚本创建架构,Quartz.net在尝试删除作业时都会抛出错误:
“无法删除触发器:此版本的SQL Server不支持没有聚簇索引的表。请创建聚簇索引并重试。”
我可以添加作业(我可以看到正在添加到数据库中的行),但每当我尝试删除一行时,Quartz.net就会抛出一个拟合。
我该怎么做才能解决这个问题?
谢谢!
答案 0 :(得分:1)
我已经更新并运行了烟雾测试以进行脚本更改,这些测试应该可以在SQL Azure上运行,最新的脚本可以在这里找到:
https://raw.github.com/quartznet/quartznet/master/database/tables/tables_sqlServer.sql