Скопируйте несколько файлов в один с помощью xp_cmdshell с переменным путем, используя SQL

Я создал несколько CSV-файлов, используя bcp в Sql Server 2008. Теперь мне нужно объединить эти файлы в один. Это работает, если я явно определяю путь к файлам, но если я объявляю его, он говорит мне, что не может найти файлы.

объявлять @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 ответ

Используйте как ниже

SET @cmd = 'copy /b "' + @v_Header_path +'" + "'+ @v_Data_path +'" "' + @v_Out_file_path + '"'
exec master..xp_cmdshell @cmd
Другие вопросы по тегам