Скопируйте несколько файлов в один с помощью 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