【发布时间】:2014-12-08 23:11:05
【问题描述】:
我有这段 T-SQL
DECLARE @FileName VARCHAR(100)
DECLARE @SQLCmd VARCHAR(500)
SELECT @FileName = '\\ftp.myplace.com\FtpFiles\Extract.xml'
SELECT @SQLCmd = 'bcp ' +
'"exec myDB.dbo.myXMLstoredProcedure"' +
' queryout ' +
@FileName +
' -w -T -S ' + @@SERVERNAME
EXECUTE master..xp_cmdshell @SQLCmd
存储过程“myXMLstoredProcedure”读取一些表并使用for xml path创建一个xml字符串。
问题在于,当 bcp 将该字符串导出到目标文件时,它会每 2033 个字符插入换行符 (CR LF),这会阻止我的 xml 文件在之后被解析。
有没有办法防止 bcp 插入原始数据中不存在的换行符?
我尝试了-a 65535 选项,但没有解决。
选项 -n 和 -N 确实阻止了换行符,但是所有字符都被空分隔。
【问题讨论】:
标签: sql-server xml stored-procedures bcp