有关背景信息,请参阅this StackOverflow question。 Hangfire看起来对我来说是正确的解决方案,但我无法让它工作。我的开发环境是VB 2010 with SQL 2005.不是最新的工具!
Public Sub Configuration(app As IAppBuilder)
Dim act = Sub(config As IBootstrapperConfiguration)
config.UseSqlServerStorage("HangfireDb")
config.UseServer()
End Sub
app.UseHangfire(act)
End Sub
我借用了上面文章中的代码,它将原始的C#代码翻译成VB。显然,这段代码可以工作,但是当我运行它时,它会在调用config.UseSqlServerStorage(“HangfireDb”)时抛出SQLException错误,并显示消息“Column,parameter or variable#5:找不到数据类型datetime2”。
答案 0 :(得分:5)
我的开发环境是带有SQL 2005的VB 2010。
找不到数据类型datetime2
这可能是您的问题所在。
快速查看Hangfire表的架构,可以看到HangFire.Hash表使用datetime2类型作为ExpireAt列。
根据this线程,Sql Server 2005不支持此类型,因为它仅在Sql Server 2008中引入。