SQL Server:BCP导出NULL结果

时间:2018-12-05 22:55:54

标签: xml sql-server-2008 export bcp

我正在使用此bcp cmd导出生成XML的长查询结果。 因此,我设置了@DTE VARIABLE并设置了@DTE ='select .... where .... FOR XML PATH' 还有一个包含动态文件名的变量。

SET @cmd = 'bcp "' + @DTE + '" queryout "' + @Filename + '"  -k -x -w';


EXEC master..XP_CMDSHELL @cmd;

此导出的结果是这样的:

> output
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- usage: bcp {dbtable | query} {in | out | queryout | format} datafile  
> [-m maxerrors]            [-f formatfile]          [-e errfile]   [-F
> firstrow]             [-L lastrow]             [-b batchsize]   [-n
> native type]          [-c character type]      [-w wide character
> type]   [-N keep non-text native] [-V file format version] [-q quoted
> identifier]   [-C code page specifier]  [-t field terminator]    [-r
> row terminator]   [-i inputfile]            [-o outfile]            
> [-a packetsize]   [-S server name]          [-U username]           
> [-P password]   [-T trusted connection]   [-v version]             [-R
> regional enable]   [-k keep null values]     [-E keep identity values]
> [-h "load hints"]         [-x generate xml format file] 
NULL

(12 row(s) affected)

如果我不使用bcp执行查询,则结果正确。 为什么bcp会有NULL输出?

1 个答案:

答案 0 :(得分:0)

问题在于查询必须在1条单行上。我的查询是多行的。