【问题标题】:Simple way to use BCP to read and write from a SPROC使用 BCP 从 SPROC 读取和写入的简单方法
【发布时间】:2011-05-24 10:42:44
【问题描述】:

使用 BCP 在存储过程中读取和写入文件的最简单方法是什么?

【问题讨论】:

    标签: sql-server-2008 stored-procedures bcp


    【解决方案1】:

    对于在 T-SQL 中读取文件,我建议使用 BULK INSERT 语句而不是与 bcp 混淆。它们使用相同的底层机制,但如果您已经在 T-SQL 存储过程中,最好不要跳到命令行领域。

    不幸的是,据我所知,没有可以执行的 SQL 语句来写入文件。因此,您将不得不求助于exec master..xp_cmdshell @cmd 之类的操作。您可以使用bcposql 作为您的命令。如果你使用bcpthis 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
    

    【讨论】:

    • 我试过了,查询有效,但似乎没有将文件输出到该目录。我必须继续玩这个并找出原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    相关资源
    最近更新 更多