FOR XML PATH 导致 SSMS 被截断为 2034 个字符

Don*_*ker 2 xml sql-server

我正在使用 SQL Server 2008 R2。

我正在使用“for xml path('')”将字符串连接在一起。

我已将 Tools->Options->SQL Server->Results to Grid 选项设置为 max。

我已将 Tools->Options->SQL Server->Results to Text 选项设置为 max。

在网格模式下执行查询并复制一行/一列结果,我看到返回值限制为 2034 个字符。

在文本模式下执行查询并复制一行/一列结果,我看到返回值限制为 1124 个字符。

如何确保返回的值不被截断?

Don*_*ker 5

答案在这里找到:

/sf/answers/396113091/

出于某种原因,将 XML 转换为字符串会返回一个未截断的字符串。

不知道为什么它有效,但确实如此。

  • .NET SQL Server 客户端存在导致此问题的问题(请参阅 http://support.microsoft.com/kb/310378)。Microsoft 建议使用 SqlCommand.ExecuteXmlReader 而不是 SqlCommand.ExecuteReader 来解决此问题。 (3认同)