Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SQL表输出到XML文件的最有效方法_Sql_Xml_Sql Server 2008 R2 - Fatal编程技术网

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

将SQL表输出到XML文件的最有效方法,sql,xml,sql-server-2008-r2,Sql,Xml,Sql Server 2008 R2,我有一个服务器,它需要处理SQL数据库中的查询和表,并将其转储为磁盘上的xml格式。这需要是一项计划任务 当前通过计划的批处理文件>sql脚本>xp\u cmdshell>BCP使用BCP,但出现此错误 SQLState=S1000,NativeError=0 错误=[Microsoft][SQL Server Native Client 10.0][SQL Server]警告:服务器数据(172885字节)超过了字段(1)的主机文件字段长度(65535字节)。使用前缀长度、终止字符串或更大的主

我有一个服务器,它需要处理SQL数据库中的查询和表,并将其转储为磁盘上的xml格式。这需要是一项计划任务

当前通过计划的批处理文件>sql脚本>xp\u cmdshell>BCP使用BCP,但出现此错误

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

正在日志文件中困扰我。我还没有在网上找到解决办法。我不太明白“主机文件字段”指的是什么。原始表中没有值高达172885字节的列。输出文件非常大,到目前为止,人们似乎认为数据都在编写中,但在所有xml文件的末尾似乎都有一些垃圾

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

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


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

您应该查看SQL Server 2005中引入的XML路径语法


有了它,您可以轻松创建相当漂亮的XML输出,包括层次结构、属性等

我在问题中遗漏了一些细节,问题不是将表/查询转换为XML,因为我目前正在使用FOR XML语法来转换XML数据,而是麻烦(和错误)我相信这是一种用于将xml数据转储到文件中的解决方案。因此,我更希望理解问题中的错误,并找到在磁盘上创建xml文件的解决方案。@Vort3x:那么,您能将调用包装到您的
SELECT。。。是否将XML路径
导入.NET应用程序或其他可以在磁盘上为您创建文件的应用程序?