0

我在 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"'

有人能帮助我吗?

4

1 回答 1

3

像下面这样使用

SET @cmd = 'copy /b "' + @v_Header_path +'" + "'+ @v_Data_path +'" "' + @v_Out_file_path + '"'
exec master..xp_cmdshell @cmd
于 2015-08-20T11:04:47.910 回答