Получить результаты от XP_CMDSHELL

Я немного искал в Интернете, и кажется, что единственный способ получить результаты от XP_CMDSHELL - это сохранить их во временной таблице. Неужели нет более легкого пути?

От Эксперта Биржи:

Нет, xp_cmdshell не вернет никакой информации из exe. и вы должны использовать следующий синтаксис, если вы не в основной базе данных, чтобы запустить его. master..xp_cmdshell. Вы должны будете дать своему пользователю разрешение на выполнение этой процедуры в базе данных master. Вам нужно будет, чтобы ваш exe вставил информацию сам, потому что он не может вернуть информацию процессу, который ее вызвал.

А также...

Хотя @result получает возвращаемое значение только из xp_cmdshell, вы можете получить результаты команды, вставив ее непосредственно в таблицу ... что-то вроде этого:

YMMV ...

set nocount on
declare  @filepath   varchar(255),
         @cmd        varchar(255),
         @rc         int

select   @filepath = 'c:\temp\'         
select   @cmd      = 'dir ' + @filepath + '~*.tmp'

create table #output (output varchar(255) null)
insert #output exec @rc = master..xp_cmdshell @cmd
select * from #output where output is not null
drop table #output

Ответы на вопрос(2)

Ваш ответ на вопрос