2011-12-22 115 views
0

我有需要处理和从SQL数据库将查询和表格转储为磁盘上xml格式的服务器。这需要是一项计划任务。将SQL表格输出到XML文件的最有效方法

目前通过计划的批处理文件中使用BCP> sql脚本>的xp_cmdshell> BCP,但这个错误

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

让日记文件困扰我。我还没有找到任何解决方案。我不太明白'主机文件字段'指的是什么。原始表中没有列的值高达172885字节。输出文件非常大,到目前为止似乎所有数据都被写入,但似乎在所有xml文件末尾都有一些垃圾。

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

我已经尝试在本地重新创建错误,但一直没有成功。该服务器运行Windows Server 2008 R2。

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

回答

1

你应该看看FOR XML PATH语法在SQL Server 2005中引入:

有了这个,你可以轻松地创建非常漂亮的XML输出,包括层次结构,属性和更多

+0

我错过了一些问题的细节,问题是没有得到我的表/查询到XML,因为我目前使用FOR XML语法来获取XML数据,但麻烦(和错误),我相信是从解决方案用于将xml数据转储到文件。所以我更期待理解我的问题中的错误,并找到在磁盘上创建xml文件的解决方案。 – Vort3x 2011-12-22 14:20:07

+0

@ Vort3x:好的,你可以把你的'SELECT ... FOR XML PATH'的调用包装到一个.NET应用程序或其他可以为你创建磁盘上的文件的东西? – 2011-12-22 14:33:25

相关问题