Как ответить на xp_cmdshell? - PullRequest
0 голосов
/ 19 декабря 2018

Я использую SSM и хочу экспортировать данные с помощью xp_cmdshell.Это выглядит так:

DECLARE @sql NVARCHAR(4000)

SELECT @sql = 'bcp "select id, data from tabla" queryout C:\temp\data.dat -S 10.11.11.111 -U XXX -P XXX '

PRINT @sql

EXEC xp_cmdshell @sql;

Это дает мне результат:

Enter the file storage type of field id [int]: 

Так что теперь я должен установить тип данных для идентификатора столбца.Моя проблема в том, что я не могу «ответить» на xp_cmdshell.Я не могу использовать cmd, потому что я подключаюсь к серверу SQL через VPN, и он не видит мой bcp.exe.

Как мне дать ответ в SSMS xp_cmdshell?

1 Ответ

0 голосов
/ 02 января 2019

Вам нужно будет добавить параметр -c (строчные буквы c), который указывает на использование символьного типа данных для типа хранения.Следующий оператор будет экспортировать результаты вашего запроса.

SELECT @sql = 'bcp "select id, data from tabla" queryout C:\temp\data.dat -c -S 10.11.11.111 -U XXX -P XXX '
...