日志中的异常:分析根项目应该存在于数据库中。资料来源:Sitecore.Marketing
Exception in log: Analytics root item should exist in the database. Source: Sitecore.Marketing
将 6.5 Sitecore 解决方案升级到 8.1 后,从干净的 8.1 数据库开始并从旧解决方案迁移项目,我在日志中收到异常,抱怨 Analytics 根项目丢失。在 Sitecore 和营销中心检查过,8.1 特定项目存在。任何导致此异常的线索?
提前致谢!
消息:分析根项目应该存在于数据库中
来源:Sitecore.Marketing
在 Sitecore.Marketing.Definitions.Outcomes.Data.ItemDb.ItemOutcomeDefinitionRepository..ctor(字符串数据库名称,布尔值 assumeActive,IDefinitionRecordMapper`1 映射器)
在 Sitecore.Marketing.Definitions.Outcomes.Data.ItemDb.ItemOutcomeDefinitionRepository..ctor(String databaseName, Boolean assumeActive)
此错误来自:
public ItemOutcomeDefinitionRepository(string databaseName, bool assumeActive, IDefinitionRecordMapper<OutcomeDefinitionRecord> mapper)
: base(Assert.ResultNotNull<Database>(Database.GetDatabase(databaseName), "database not found " + databaseName), ItemOutcomeDefinitionRepository.OutcomeTemplateId, ItemOutcomeDefinitionRepository.OutcomeContainerId, assumeActive, mapper)
{
Assert.ArgumentNotNull((object) databaseName, "databaseName");
Assert.ArgumentNotNull((object) mapper, "mapper");
this.itemDb = Assert.ResultNotNull<Database>(Database.GetDatabase(databaseName), "database not found " + databaseName);
Assert.IsNotNull((object) this.itemDb, "item database '{0}' should be available", (object) databaseName);
Assert.IsNotNull((object) this.itemDb.GetItem(ItemOutcomeDefinitionRepository.OutcomeContainerId), "analytics root item should exist in the database");
}
此行抛出异常:
Assert.IsNotNull((object) this.itemDb.GetItem(ItemOutcomeDefinitionRepository.OutcomeContainerId), "analytics root item should exist in the database");
您需要检查您是否有 ID 为:
的项目
private static readonly ID OutcomeContainerId = Sitecore.Marketing.Definitions.Outcomes.WellKnownIdentifiers.MarketingCenterOutcomeContainerId;
public static readonly ID MarketingCenterOutcomeContainerId = ID.Parse("{062A1E69-0BF6-4D6D-AC4F-C11D0F7DC1E1}");
具有以上 id 的项目是具有路径的项目:
/sitecore/system/Marketing Control Panel/Outcomes
将 6.5 Sitecore 解决方案升级到 8.1 后,从干净的 8.1 数据库开始并从旧解决方案迁移项目,我在日志中收到异常,抱怨 Analytics 根项目丢失。在 Sitecore 和营销中心检查过,8.1 特定项目存在。任何导致此异常的线索? 提前致谢!
消息:分析根项目应该存在于数据库中
来源:Sitecore.Marketing 在 Sitecore.Marketing.Definitions.Outcomes.Data.ItemDb.ItemOutcomeDefinitionRepository..ctor(字符串数据库名称,布尔值 assumeActive,IDefinitionRecordMapper`1 映射器) 在 Sitecore.Marketing.Definitions.Outcomes.Data.ItemDb.ItemOutcomeDefinitionRepository..ctor(String databaseName, Boolean assumeActive)
此错误来自:
public ItemOutcomeDefinitionRepository(string databaseName, bool assumeActive, IDefinitionRecordMapper<OutcomeDefinitionRecord> mapper)
: base(Assert.ResultNotNull<Database>(Database.GetDatabase(databaseName), "database not found " + databaseName), ItemOutcomeDefinitionRepository.OutcomeTemplateId, ItemOutcomeDefinitionRepository.OutcomeContainerId, assumeActive, mapper)
{
Assert.ArgumentNotNull((object) databaseName, "databaseName");
Assert.ArgumentNotNull((object) mapper, "mapper");
this.itemDb = Assert.ResultNotNull<Database>(Database.GetDatabase(databaseName), "database not found " + databaseName);
Assert.IsNotNull((object) this.itemDb, "item database '{0}' should be available", (object) databaseName);
Assert.IsNotNull((object) this.itemDb.GetItem(ItemOutcomeDefinitionRepository.OutcomeContainerId), "analytics root item should exist in the database");
}
此行抛出异常:
Assert.IsNotNull((object) this.itemDb.GetItem(ItemOutcomeDefinitionRepository.OutcomeContainerId), "analytics root item should exist in the database");
您需要检查您是否有 ID 为:
的项目 private static readonly ID OutcomeContainerId = Sitecore.Marketing.Definitions.Outcomes.WellKnownIdentifiers.MarketingCenterOutcomeContainerId;
public static readonly ID MarketingCenterOutcomeContainerId = ID.Parse("{062A1E69-0BF6-4D6D-AC4F-C11D0F7DC1E1}");
具有以上 id 的项目是具有路径的项目:
/sitecore/system/Marketing Control Panel/Outcomes