我在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"'
有人可以帮助我吗?
答案 0 :(得分:1)
使用如下
SET @cmd = 'copy /b "' + @v_Header_path +'" + "'+ @v_Data_path +'" "' + @v_Out_file_path + '"'
exec master..xp_cmdshell @cmd