Использование утилиты bcp для экспорта SQL-запросов в текстовый файл
Я отлаживаю хранимую процедуру (SQL Server 2005), и мне нужно узнать некоторые значения в datatable.
процедура выполняется событием приложения, и я смотрю только вывод отладки.
Я делаю следующую хранимую процедуру (SQL Server 2005), я взял системную таблицу (master.dbo.spt_values) в качестве примера:
set @logtext = 'select name, type from master.dbo.spt_values where number=6'
--set @logtext = 'master.dbo.spt_values'
SET @cmd = 'bcp ' + @logtext + ' out "c:spt_values.dat" -U uId -P uPass -c'
EXEC master..XP_CMDSHELL @cmd
Итак, когда я раскомментирую второй, как все работает, файл появляется на диске C:... но если я вернусь, то уйду. генерируется только первая строка, любой вывод.
Как исправить эту проблему?
1 ответов
bcp out
экспорт таблицы.
для экспорта запроса используйте queryout
вместо этого-вам нужно будет обернуть свой запрос в "двойные кавычки"
set @logtext = '"select name, type from master.dbo.spt_values where number=6"'
--set @logtext = 'master.dbo.spt_values'
SET @cmd = 'bcp ' + @logtext + ' queryout "c:\spt_values.dat" -U uId -P uPass -c'
EXEC master..XP_CMDSHELL @cmd