1

有关一些背景信息,请参阅此 StackOverflow 问题。Hangfire 看起来对我来说是正确的解决方案,但我无法让它工作。我的开发环境是带有 SQL 2005 的 VB 2010。不是最新的工具!

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 错误并显示消息“列、参数或变量 #5:找不到数据类型 datetime2”。

4

1 回答 1

5

我的开发环境是带有 SQL 2005 的 VB 2010。

找不到数据类型 datetime2

这可能是您的问题所在。

快速查看了 Hangfire 表的架构,可以看到 HangFire.Hash 表对 ExpireAt 列使用 datetime2 类型。

根据这个线程,Sql Server 2005 不支持这种类型,因为它只在 Sql Server 2008 中引入。

于 2014-10-24T11:10:54.860 回答