使用SQL

时间:2015-05-28 14:06:52

标签: sql csv copy xp-cmdshell

我在Sql Server 2008中使用bcp创建了一些csv文件。现在我需要将这些文件合并为一个。如果我明确定义了文件的路径,但是如果我声明它告诉我它找不到文件,它就可以工作。

声明@ variable_path_file1 =" c:\ file.csv" 声明@ variable_path_file2 =" c:\ file2.csv"

它的工作原理如下:

exec master..xp_cmdshell 'copy /b "c:\file.csv" + "c:\file2.csv" "C:\result.csv"'

但它不会像这样工作:

exec master..xp_cmdshell 'copy /b @variable_path_file1 + @variable_path_file2 "C:\result.csv"'

也不喜欢这样:

 exec master..xp_cmdshell 'copy /b '@variable_path_file1' + '@variable_path_file2' "C:\result.csv"'

不喜欢这样:

 exec master..xp_cmdshell 'copy /b "'@variable_path_file1'" + "'@variable_path_file2'" "C:\result.csv"'

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

使用如下

SET @cmd = 'copy /b "' + @v_Header_path +'" + "'+ @v_Data_path +'" "' + @v_Out_file_path + '"'
exec master..xp_cmdshell @cmd