无法创建内容类型 - 找到了重复的内容类型

时间:2011-01-25 16:54:02

标签: sharepoint sharepoint-2010

我遇到了这个问题而且我没有在网上找到任何答案。

我有一个名为“Document X”的内容类型,原始“Document”作为父级。 (ID为0x010100ACEA2663B318874AA9192CA9AF678614)

我已经有一个名为“Document X 1”的内容类型,其中“Document X”作为父级。 (ID为0x010100ACEA2663B318874AA9192CA9AF67861401)

当我使用父“Document X”创建一个名为“Document X 2”的新内容类型时,我收到错误“找到重复内容类型'文档X 2'”...

我检查了ULS,但没有报告错误。我可以从任何其他内容类型(开箱即用或我创建的其他内容,如“日历X”)创建新的内容类型,但我无法从“文档X”创建新的内容类型。 (并且我没有任何类似名称的内容类型......无论我使用什么名称,我都会得到同样的错误)

完整错误是:

找到重复的内容类型“文档X”。 解决Microsoft SharePoint Foundation的问题。 相关ID:b9d36bb8-1a8e-4ef4-bbd0-fbdf8e70d73b 日期和时间:2011年1月24日下午3:00:36

我的内容类型中心网站上发生了此错误,但我仅在此网站上使用和创建内容类型。我不使用Visual Studio创建它们,它在生产环境中,我们必须使用Site Settings或Designer创建它们,但两者都给我同样的错误。

我知道我在这里没有太多信息,我只是不知道在哪里先看..

如果有任何人有任何想法可以帮助我,我会非常感激,因为我已经失去了几个小时,并且不知道在哪里看...

非常感谢!

1 个答案:

答案 0 :(得分:5)

我发现了我的问题,所以如果有一天这可以帮助某些人。

看起来SharePoint有时会在更新内容数据库中的字段时遇到一些问题。

dbo.ContentTypes 表中的字段 NextChildByte 是问题所在。

假设我创建了一个ID为0x010100ACEA2663B318874AA9192CA9AF678614且文档为父级的内容类型(0x0101)

SharePoint将在 dbo.ContentTypes 表中创建一个条目。

当我创建另一个内容类型,第一个内容类型为父...此新内容类型的ID将为0x010100ACEA2663B318874AA9192CA9AF678614 * 01 *)此01来自 NextChildByte dbo.ContentTypes 表的em>字段。

现在,SharePoint应该更新 dbo.ContentTypes 表并将字段 NextChildByte 设置为2,以便使用同一父代创建的下一个内容类型为0x010100ACEA2663B318874AA9192CA9AF678614 * 02 *

我的问题是.. SharePoint没有更新 NextChildByte 字段,因此SharePoint尝试创建ID已为0x010100ACEA2663B318874AA9192CA9AF678614 * 01 *的内容类型...

在我的情况下..我终于能够删除内容类型0x010100ACEA2663B318874AA9192CA9AF678614 * 01 *。当我重新创建它时,SharePoint确实将 NextChildByte 更新为2,因此我可以在此之后创建更多的子内容类型。

编辑:之后我发现了这篇博文。看起来这个脚本可以为我修复它。这是最好的选择,因为更新数据库不是解决方案。

http://www.mattjimison.com/blog/2011/06/21/a-duplicate-content-type-found-error/

干杯!