【发布时间】:2011-05-24 10:42:44
【问题描述】:
使用 BCP 在存储过程中读取和写入文件的最简单方法是什么?
【问题讨论】:
标签: sql-server-2008 stored-procedures bcp
使用 BCP 在存储过程中读取和写入文件的最简单方法是什么?
【问题讨论】:
标签: sql-server-2008 stored-procedures bcp
对于在 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
【讨论】: