Для чтения файла в T-SQL я рекомендую использовать оператор BULK INSERT
вместо того, чтобы связываться с bcp
. Они используют один и тот же механизм, лежащий в основе, но если вы уже работаете с T-SQL, лучше не заходить в землю командной строки.
К сожалению, насколько я знаю, нет оператора SQL, который вы можете выполнить, чтобы написать файл. Поэтому вам придется прибегнуть к занятию чем-то вроде exec master..xp_cmdshell @cmd
. Вы можете использовать bcp
или osql
в качестве команды. Если вы используете bcp
, , на этой странице есть хороший учебник , но для краткости, вот пример кода:
-- make a pipe delimited file... requires access to xp_cmdshell and the file system
declare @cmd varchar(8000)
select @cmd = 'bcp mydb.dbo.tblWhatever out "c:\bcp\tblWhatever.txt" -c –t| -T -S' + @@servername
exec master..xp_cmdshell @cmd