在读完一个答案和第二个答案以及sqlcmd上的infopage之后,我仍然无法让以下工作.
我试图使用批处理文件中的sqlcmd将结果查询到xml文件中.
批处理文件如下所示:
sqlcmd -R -d DBName -i "c:\inputquery.sql" -h-1 -y 0 -o "c:\outputfile.xml"
简化的SQL查询是:
:XML ON SELECT '' + CAST(( SELECT Columns FROM Table FOR XML PATH ('Product'), ROOT('Products') ) AS NVARCHAR(MAX))
输出是一个大约1025Kb的xml文件,一个截断的字符串.我认为它截断到1mb,但你怎么能阻止这个呢?目标是将完整的查询结果放入xml文件中.据我所知,所有选项都已使用.顺便使用TSQL SSMS2008.
我今天遇到了同样的问题,我使用了-y0选项.我的输出现在看起来正确.以为我会发布我的发现,所以它可能会帮助其他人遇到同样的事情.
sqlcmd -Sxxxxxxx -E -dmaster -h-1 -y0 -Q" my query that produces long results in here;" > "D\:out.txt"
-h-1
也删除列标题.