将SQL表输出到XML文件的最有效方法

时间:2011-12-22 14:00:23

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

我的服务器需要处理并从SQL数据库中将查询和表转储到磁盘上的xml格式。这需要是预定的任务。

目前通过预定批处理文件使用BCP> sql脚本> xp_cmdshell> bcp,但此错误

  

SQLState = S1000,NativeError = 0
  错误= [Microsoft] [SQL Server Native Client 10.0] [SQL Server]警告:服务器数据(172885字节)超过字段(1)的主机文件字段长度(65535字节)。使用前缀长度,终止字符串或更大的主机文件字段大小。截断不会发生   用于BCP输出文件。

让我在日志文件中遇到麻烦。我还没有在网上找到解决方案。我不太明白'host-file字段'是指什么。原始表没有列,其值大到172885字节。输出文件非常大,到目前为止,似乎所有数据都被写入,但在所有xml文件的末尾似乎都有一些垃圾。

性能很重要,但在这种情况下,可靠性对我来说是最重要的。

我已尝试在本地重新创建错误,但这样做并未成功。服务器运行Windows Server 2008 r2。

任何有关错误及其含义的帮助或解释/分析,以及将sql表/查询转储到xml文件的简单计划解决方案的建议,将不胜感激。

1 个答案:

答案 0 :(得分:1)

您应该查看SQL Server 2005中引入的FOR XML PATH语法:

通过这种方式,您可以轻松创建相当漂亮的XML输出,包括层次结构,属性和更多