Как удалить файл из каталога с помощью TSQL? - PullRequest
0 голосов
/ 10 мая 2018
DECLARE @cmd VARCHAR(100) 
set @cmd= 'xp_cmdshell ''del "C:\root\sfd_devtracker\' + @deletefile + '"''';
EXEC (@cmd)

Я пробовал приведенный выше код, но не с ошибкой. Должен объявить скалярную переменную @ deletefile.

Кто-нибудь может понять, что здесь не так ?? *

Ответы [ 3 ]

0 голосов
/ 10 мая 2018

Вы уверены, что объявили и задали переменную "@deletefile", чтобы указать имя файла, который хотите удалить?

0 голосов
/ 10 мая 2018

Вам нужно объявить переменную @deletefile так же, как вы объявили @cmd выше

ОБЪЯВИТЬ @deletefile varchar (20). Вы можете использовать varchar (100), если имя вашего файла слишком длинное.

Задайте имя файла, который вы хотите удалить, в переменной @deletefile, а затем выполните запрос.

SET @ deletefile = 'YourFileName'. В целом это должно быть как ниже

DECLARE @cmd VARCHAR(100)
DECLARE @deletefile VARCHAR(20)
set @deletefile='YourFileName' 
set @cmd= 'xp_cmdshell ''del "C:\root\sfd_devtracker\' + @deletefile + '"''';
EXEC (@cmd)
0 голосов
/ 10 мая 2018

Как говорится в сообщениях об ошибках, вы не объявили переменную @deletefile или не установили ее где-либо.

Вам нужно сделать

DECLARE @deletefile NVARCHAR(255) = 'FileNameHere'

или аналогичный

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...