使用BCP在sproc中读取和写入文件的最简单方法是什么?
答案 0 :(得分:2)
为了在T-SQL中读取文件,我建议使用BULK INSERT
语句而不是弄乱bcp
。它们使用相同的底层机制,但是如果你已经在T-SQL存储过程中,最好不要跳到命令行域。
不幸的是,据我所知,没有SQL语句可以执行来编写文件。所以你不得不求助于exec master..xp_cmdshell @cmd
这样的事情。您可以使用bcp
或osql
作为命令。如果您使用bcp
,this page has a nice tutorial,但只是总结一下,这里有一些示例代码:
-- 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