sql-server - sql server FOR XML 有字符限制吗?

标签 sql-server

我正在 xml 中执行查询并将其转换为带有 FOR XML EXPLICIT 的 xml 文件。这有效,除非我尝试查询大量文件。

如果我查询 ID 介于 400 和 500 之间的记录,如果我尝试查询 ID 介于 500 和 600 之间的记录,它会起作用,但如果我尝试查询 400 到 600 之间的记录,则它会失败。

这是错误:

Unable to show XML. The following error happened: '', hexadecimal value 0x1E, is an invalid character. Line 1457, position 107.

One solution is to increase the number of characters retrieved from the server for XML data. To change this setting, on the Tools menu, click Options.



好的?然后什么?我必须在哪里准确地更改选项?

编辑:在查询结果> SQL Server > 结果到网格下将 XML 数据设置为无限制不起作用。

编辑:返回代码:
<ExceptionDocument><Error><Message>'&#x1E;', hexadecimal value 0x1E, is an invalid character. Line 953, position 107.</Message><StackTrace>   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
   at System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Char[] data, Int32 length, Int32 invCharPos)
   at System.Xml.XmlTextReaderImpl.ParseCDataOrComment(XmlNodeType type, Int32&amp; outStartPos, Int32&amp; outEndPos)
   at System.Xml.XmlTextReaderImpl.ParseCDataOrComment(XmlNodeType type)
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
   at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.LoadXml(String xml)
   at SitePublisher.Base.BasePub.ExecuteCommand(String sql, Int32 attempt, NameValueCollection parameters)</StackTrace><InnerException /></Error></ExceptionDocument>

编辑:我猜 0x1E 是文件字符的结尾。

编辑:我认为我的第一个陈述可能是错误的,而且我正在处理损坏的数据。它始终为记录 426 返回错误。

最佳答案

死灵法术。
在 SQL-Server Management-Studio 中,转到工具->选项
在QueryResults->SQL-Server->“Results To Grid”下,将“XML data”的值设置为unlimited。
现在您需要重新启动 SQL-Server Management Studio 以使更改生效。
Unlimited

关于sql-server - sql server FOR XML 有字符限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9130419/

相关文章:

sql-server - SQL Server 2008 - 查询空间数据

sql-server - SQL Server 中的 ALL 与 ANY 评估

sql-server - Reporting Services 中的日期格式不正确

sql-server - SQL 仅对某些行求和

sql - 获取 2 个提供日期之间的所有年份

c# - 为 SQL Server Linux 版本安装 CLR

sql-server - 如何在 LINQ 中连接两个表?

sql-server - SSIS:无法将类型 'System.Datetime' 的对象强制转换为类型 'System.Char[]'

SQL查询按时间对项目进行分组,但前提是彼此靠近?

mysql - MSSQL BIT_COUNT(汉明距离)