0

这是我用来将数据导出到 SQL Server 2008 中的 CSV 文件的 BCP 命令:

EXEC master..xp_cmdshell 'BCP "exec ESB_ADT_DB.dbo.ProcTest" queryout "D:\outputfile.csv" -q -T -w -t,'

问题在于表中的第一列包含此数据的 xml 字符 (<,>,),它在写入文件后添加了换行符。如何停止 bcp 命令以将换行符添加到写入文件的数据中。

提前感谢您的帮助。

4

1 回答 1

0

我碰巧使用输出流的 proc 来执行此操作,因此我只是在调用 BCP 命令的动态 sql 的末尾添加了一个 -r \0 。(我也添加了 -a 选项,但不确定它是否会影响任何东西。此外,代码最初也是使用 -c 选项编写的)。

命令字符串现在执行此操作:

设置@sql='bcp "exec my_xml_proc" QUERYOUT "outputfile.xml" -S 服务器 -U 用户 -P 密码 -c -a 65535 -r \0";

执行@sql;

-r \0 似乎有效。当我指定一个常规字符(-r #)时,我注意到更改行终止符会在结束文档标记的末尾产生一个带有指定字符的流,但最终用途需要一个格式良好的 XML 文档,所以我改变了到-r \0。

于 2013-11-13T00:06:20.530 回答