如何将sql表数据存储到XML文件中?

时间:2010-11-25 04:56:16

标签: sql-server xml

我的情况是我在SQL Server数据库中有一个数据表。现在我希望它通过SQL命令插入到XML文件中。我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以使用 -o 参数从cmd shell执行查询,或者通过 xp_cmdshell 执行相同的命令。在select语句中,您可以使用 for xml 选项。并且必须使用打印命令打印结果 例如:

SQLcmd -S "(local)\sqlexpress" -E -d "EFEx" 
-q "declare @i nvarchar(max) 
set @i = (select * from [Group] for xml auto,root(''groups'')) 
print @i" 
-o "C:\Projs\results.xml"

不要忘记创建文件的安全权限并启用xp_cmdshell

exec sp_configure 'xp_cmdshell', 1
reconfigure;

我希望这会有所帮助。

答案 1 :(得分:0)

简短的回答是,你不能使用纯T-SQL输出到文件。无论您使用什么客户端连接到SQL服务器,都需要将输出传输到文件。

你有几个选择:   - BCP实用程序(推荐,阅读XML格式文件部分)   - SQLCMD实用程序   - 构建一个SSIS包来完成这项工作(听起来像你的情况有点过分)

这就是说可以使用xp_cmdshell从SQL会话中执行这些命令。