Простой способ использовать BCP для чтения и записи из SPROC - PullRequest
1 голос
/ 13 декабря 2010

Какой самый простой способ чтения и записи файлов в sproc с использованием BCP?

1 Ответ

2 голосов
/ 13 декабря 2010

Для чтения файла в 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
...