SQL Server使用FOR XML生成错误/无效/损坏的XML

时间:2015-02-24 20:13:07

标签: sql-server xml sql-server-2008r2-express for-xml

我有一个简单的(?)问题。

我有一个表t_dane_nieruch,其中有一列nr_ewidint, not null

我的查询如下:

select top 40 
    nr_ewid
from 
    t_dane_nieruch 
for xml auto, elements

它产生这个输出:

<t_dane_nieruch>
    <nr_ewid>3</nr_ewid>
</t_dane_nieruch>
<t_dane_nieruch>
    <nr_ewid>4</nr_ewid>
</t_dane_nieruch>
<t_dane_nieruch>
    <nr_ewid>7</nr_ewid>
</t_dane_nieruch>
<t_dane_nieruch>
    <nr_ewid>8</nr_ewid>
</t_dane_nieruch>
<t_dane_nieruch>
    <nr_ewid>11</nr_ewid>
</t_dane_nieruch>
<t_dane_nieruch>
    <nr_ewid>49</nr_ewid>
</t_dane_nieruch>
<t_dane_nieruch>
    <nr_ewid>51</nr_ewid>
</t_dane_nieruch>

问题:

  • 输出不是有效的XML
  • 输出元素的数量太少

将SSMS与SQL Server 2008 R2 Express一起使用 - 输出到文本或文件会生成相同的内容......

1 个答案:

答案 0 :(得分:2)

您可能会发现截断,对于非XML数据类型,SSMS默认为256个字符,发送到网格时,XML为1MB。

您可以通过单击工具,选项,查询结果,SQL Server,结果到网格,XML数据=无限制

来修改此设置