2017-07-25 10 views
0

既存のサイトコレクションアイテムを変更してWeb DBに公開しようとしているときに例外が発生しています。公開しようとするとユニークインデックスのSitecore例外がスローされる

次は例外です。 メッセージ:ユニークインデックス 'ndxUnique'を持つオブジェクト 'dbo.VersionedFields'に重複キー行を挿入できません。重複するキー値は、(48338b8b-7bfb-44e4-9715-3bafc826abfe、en、1、b05b85e8-20a6-4f1c-9a04-1645d9a262b4)です。

ステートメントが終了しました。 ソース:Sitecore.Kernel at Sitecore.Data.DataProviders.Sql.SqlDataApi。at Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteNonQuery() Sitecore.DataでSitecore.Data.Engines.DataEngine.SaveItemでSitecore.Data.DataProviders.NullRetryer.Execute [T](機能1 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.EngineCommand 2.Execute() (商品アイテム) で<> c__DisplayClass15.b__14() 。 Sitecore.Publishing.PublishHelper.CopyToTargetでSitecore.Data.Items.EditContext.DisposeでSitecore.Data.Items.ItemEditing.AcceptChanges(ブールupdateStatistics、サイレントブール)でManagers.ItemProvider.SaveItem(商品アイテム) () ( Item sourceVersion) at Sitecore.Publishing.PublishHelper.PublishVersionToTarget(Item sourceVersion、Item targetItem、Boolean targetCreated) at Sitecore.PublishItem.PerformAction.ExecuteAction(PublishItemContext context) at Sitecore.Publis hing.Pipelines.PublishItem.PerformAction.Process(PublishItemContextコンテキスト) でSitecore.Publishing.Pipelines.PublishItem.PublishItemPipeline.RunでSitecore.Pipelines.CorePipeline.Run(PipelineArgsの引数)で (オブジェクト[]オブジェクト)(PublishItemContextサイトコアでSitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerableを1 entries, PublishContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable 1エントリ、PublishContextコンテキストでSitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerableを1 entries, PublishContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable 1エントリ、PublishContextコンテキスト) における文脈) ) 。 Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable`1エントリ、PublishContextコンテキスト) at Sitecore.Publishing.Pipeline.Publish.ProcessQueue.Process(PublishContextコンテキスト)

誰かがそれについて考えていますか?

+0

ない私の提案は最高の一つですが、ウェブデータベース「dbo.VersionedFields」テーブルから該当する行を削除しようとしていることを確認してください。 –

+0

はい。これはこの問題を解決するためのハックですが、新しい問題が発生する可能性があるため、Web DBから直接削除する必要はありません。 –

答えて

0

最後に、Sitecoreのサポートから解決策を得ました。基本的に、バージョンフィールドもインデックス付きの列に存在する必要があります。私たちはこれを手動で変更していませんでしたが、何とか起こりました。

Solution provided by Sitecore support

関連する問題