从同事中拉出后出错(System.Runtime.DurableInstancing.InstancePersistenceCommandException)

时间:2015-03-05 13:03:08

标签: c# sql-server workflow workflow-foundation

我正在尝试整合我刚刚用Git提取的同事的WF应用程序。我已经在所描述的msdn教程中设置了数据库'WF45GettingStartedTutorial'。 当我尝试启动主机时,我收到以下错误消息:

  

'{“SqlWorkflowInstanceStore的数据库版本为'4.0.0.0'。   InstancePersistenceCommand   'System.Activities.DurableInstancing.CreateWorkflowOwnerWithIdentityCommand'   无法对此数据库版本运行。请升级   数据库为'4.5.0.0'。“}'

当然我已经用Google搜索过了,并尝试了以下来自msdn:

在'C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ SQL \ en'中运行'SqlWorkflowInstanceStoreSchemaUpgrade.sql'。我在mssql 2012中的数据库'WF45GettingStartedTutorial'中执行了该sql文件。我的同事正在使用mssql 2008 R2,不知道这是否有任何区别,但我得到sql命令成功完成的消息。

虽然我已经运行了更新脚本,但我再次在CommunicationHost中收到相同的错误。 (我已刷新/更新.edmx文件) 我的主机崩溃的那条线:

WorkflowApplication.CreateDefaultInstanceOwner(store, null,   WorkflowIdentityFilter.Any);

有人知道如何解决这个问题吗? 为什么它在他的计算机上运行而不在我的计算机上呢?

1 个答案:

答案 0 :(得分:0)

新创建的数据库不适合作为WorkflowInstance Store;您需要创建它,填充架构然后升级它。

  1. 您需要创建数据库

    创建数据库[WF45GettingStartedTutorial]

  2. 打开SqlWorkflowInstanceStoreSchema.sql并针对您的数据库运行它(USE WF45GettingStartedTutorial)

  3. 打开并运行SqlWorkflowInstanceStoreSchemaUpgrade.sql

  4. SQL文件将位于Windows .NET目录中,例如

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\SQL\en\