【发布时间】:2017-12-31 19:53:48
【问题描述】:
当我们尝试对现有站点核心项目进行任何更改并将其发布到网络数据库时,我们遇到了异常。
以下是例外- 消息:无法在具有唯一索引“ndxUnique”的对象“dbo.VersionedFields”中插入重复的键行。重复键值为 (48338b8b-7bfb-44e4-9715-3bafc826abfe, en, 1, b05b85e8-20a6-4f1c-9a04-1645d9a262b4)。
语句已终止。
来源:Sitecore.Kernel
在 Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteNonQuery()
在 Sitecore.Data.DataProviders.Sql.SqlDataApi.c__DisplayClass15.b__14()
在 Sitecore.Data.DataProviders.NullRetryer.Execute[T](Func1 action, Action recover)
at Sitecore.Data.DataProviders.Sql.SqlDataProvider.WriteVersionedField(ID itemId, FieldChange change, DateTime now, Boolean fieldsAreEmpty)
at Sitecore.Data.DataProviders.Sql.SqlDataProvider.UpdateItemFields(ID itemId, ItemChanges changes)
at Sitecore.Data.DataProviders.Sql.SqlDataProvider.<>c__DisplayClass1d.<SaveItem>b__1b()
at Sitecore.Data.DataProviders.NullRetryer.ExecuteNoResult(Action action, Action recover)
at Sitecore.Data.DataProviders.Sql.SqlDataProvider.SaveItem(ItemDefinition itemDefinition, ItemChanges changes, CallContext context)
at Sitecore.Data.DataProviders.DataProvider.SaveItem(ItemDefinition item, ItemChanges changes, CallContext context, DataProviderCollection providers)
at Sitecore.Data.DataSource.SaveItem(ID itemID, ItemChanges changes)
at Sitecore.Data.Engines.EngineCommand2.Execute()
在 Sitecore.Data.Engines.DataEngine.SaveItem(项目项)
在 Sitecore.Data.Managers.ItemProvider.SaveItem(项目项)
在 Sitecore.Data.Items.ItemEditing.AcceptChanges(布尔更新统计,布尔静默)
在 Sitecore.Data.Items.EditContext.Dispose()
在 Sitecore.Publishing.PublishHelper.CopyToTarget(项目源版本)
在 Sitecore.Publishing.PublishHelper.PublishVersionToTarget(项目 sourceVersion,项目 targetItem,布尔 targetCreated)
在 Sitecore.Publishing.Pipelines.PublishItem.PerformAction.ExecuteAction(PublishItemContext 上下文)
在 Sitecore.Publishing.Pipelines.PublishItem.PerformAction.Process(PublishItemContext 上下文)
在(对象,对象[])
在 Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
在 Sitecore.Publishing.Pipelines.PublishItem.PublishItemPipeline.Run(PublishItemContext 上下文)
在 Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable1 entries, PublishContext context)
at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable1 个条目,PublishContext 上下文)
在 Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable1 entries, PublishContext context)
at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable1 个条目,PublishContext 上下文)
在 Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable`1 条目,PublishContext 上下文)
在 Sitecore.Publishing.Pipelines.Publish.ProcessQueue.Process(PublishContext 上下文)
有人知道吗?
【问题讨论】:
-
不确定我的建议是否最好,但尝试从网络数据库中的“dbo.VersionedFields”表中删除相应的行。
-
是的。这是解决此问题的 hack,但我不想直接从 Web DB 中删除内容,因为它可能会导致新问题。
标签: c# sitecore sitecore7.2