将内容数据库从SharePoint 2007升级到SharePoint 2010时的XMLException(无效字符)

时间:2012-09-10 13:44:48

标签: sharepoint sharepoint-upgrade

我正在尝试将某些内容数据库从SharePoint 2007升级到SharePoint 2010.我已经解决了升级内容数据库所需的所有功能依赖性。其中两个内容数据库升级得很好,但其中一个升级失败,错误日志文件中出现以下错误: -

[STSADM] [SPContentDatabaseSequence] [INFO] [8/25/2012 3:08:13 PM]: SPContentDatabase Name=ANONYMOUS_ContentDB
[STSADM] [SPContentDatabaseSequence] [ERROR] [8/25/2012 3:08:13 PM]: Action 4.0.2.0 of Microsoft.SharePoint.Upgrade.SPContentDatabaseSequence failed.
[STSADM] [SPContentDatabaseSequence] [INFO] [8/25/2012 3:08:13 PM]: SPContentDatabase Name=ANONYMOUS_ContentDB
[STSADM] [SPContentDatabaseSequence] [ERROR] [8/25/2012 3:08:13 PM]: Exception: '.', hexadecimal value 0x00, is an invalid character. Line 1, position 10023.
[STSADM] [SPContentDatabaseSequence] [INFO] [8/25/2012 3:08:13 PM]: SPContentDatabase Name=ANONYMOUS_ContentDB
[STSADM] [SPContentDatabaseSequence] [ERROR] [8/25/2012 3:08:13 PM]:    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Int32 pos, Char invChar)
   at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
   at System.Xml.XmlTextReaderImpl.ParseText()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
   at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.LoadXml(String xml)
   at Microsoft.SharePoint.Upgrade.RemoveContentTypeField.UpgradeSchema(String originalSchema, String& newSchema, Boolean& AddIndex)
   at Microsoft.SharePoint.Upgrade.RemoveContentTypeField.Upgrade()
   at Microsoft.SharePoint.Upgrade.SPActionSequence.Upgrade()

我正在使用命令

stsadm -o addcontentdb -url "webappurl" -databasename "contentdbname"

附加和升级内容数据库。

有谁能请指导我这里可能出现的问题???

1 个答案:

答案 0 :(得分:0)

通过查看日志文件,该内容数据库中站点中某个内容类型的XML架构似乎具有无效字符。

诊断可能很棘手。这是“长途” - 其他人可能有更好的路线。

您是否可以备份内容数据库,以便可以返回到开始位置,然后慢慢删除内容类型,直到stsadm命令工作(您需要删除使用内容类型的项目才能删除内容类型)。首先是自定义内容类型,因为它们更可能是罪魁祸首。如果您发现包含无效架构的内容类型,则可以尝试修复架构,或者尽可能继续使用内容类型。