【发布时间】:2015-02-02 16:56:33
【问题描述】:
我有一个 SQL Server 代理作业(将设置为按计划运行)每天检索数据。
自动化作业涉及的两个步骤如下:
第 1 步。
使用 T-SQL 执行以下查询
设置无计数;
声明@xml xml
set @xml = (select a AS a, b AS b from tableName for xml path ('path'), ROOT('paths'))
选择 @xml 作为 returnXml
步骤 2. 在 Powershell 中使用以下命令删除前 4 行,以便删除所有标题
(获取内容 "C:\cmd\xml.xml" | 其中 {$_.ReadCount -gt 4}) |设置内容“C:\cmd\xml.xml”
现在,当我查看输出文件时,我收到以下消息:
字符串数据,右截断 [SQLSTATE 01004]
我可以看到,在文件的末尾,它只是删除了一些 xml,甚至没有以正确的结束标记结束。
关于如何克服这个问题的任何想法?此外,它以正确的 XML 格式出现会很不错,而不仅仅是一个 longgg 块
我已经阅读了关于在使用 sqlcmd 时使用 :XML ON 的信息,但我没有任何运气:(
【问题讨论】:
标签: sql sql-server xml powershell sqlcmd