通过DOS命令在SQL Server中实现把数据汇出到文件的方法。
原理:通过DOS的管道符号>把数据放入对应的文件,由xp_cmdshell来执行DOS命令。
提醒:Script产生的文件放在SQL Server对应的Server上面
declare @SQL as nvarchar(1000)
--要显示的内容,大于,小于符号为特殊符号,通过^来转义
set @SQL='^<table^>^<TR^>^<TD^>adsf^</TD^>^<TD^>b^</TD^>^</TR^>^</table^>'
--待执行的Script
set @SQL='xp_cmdshell ''echo '+@SQL+'>d:\test.xml'''
exec sp_executesql @SQL
test.xml中的内容如下:
<table><TR><TD>adsf</TD><TD>b</TD></TR></table>
通过如下修改可以使生成的文件为UTF-8编码了。
xp_cmdshell 'chcp 65001|echo 我们的>d:\test.txt'