【问题标题】:Using bcp utility to export SQL queries to a text file使用 bcp 实用程序将 SQL 查询导出到文本文件
【发布时间】:2012-08-21 21:07:18
【问题描述】:

我调试了一个存储过程 (SQL Server 2005),我需要找出数据表中的一些值。

程序由应用程序的一个事件运行,我只观察调试输出。

我执行以下存储过程(SQL Server 2005),我以系统表(master.dbo.spt_values)为例:

set @logtext = 'select name, type from master.dbo.spt_values where number=6'
--set @logtext = 'master.dbo.spt_values'
SET @cmd = 'bcp ' + @logtext + ' out "c:\spt_values.dat" -U uId -P uPass -c'
EXEC master..XP_CMDSHELL @cmd 

因此,当我像一切正常一样取消注释第二个时,C:\ 驱动器上会出现一个文件...但是如果我将其注释回来,只留下第一行,则会生成任何输出。

如何解决这个问题?

【问题讨论】:

    标签: sql sql-server debugging sql-server-2005 bcp


    【解决方案1】:

    bcp out 导出表格。

    要导出查询,请改用queryout - 您需要将查询用“双引号”括起来

    set @logtext = '"select name, type from master.dbo.spt_values where number=6"' 
    --set @logtext = 'master.dbo.spt_values' 
    SET @cmd = 'bcp ' + @logtext + ' queryout "c:\spt_values.dat" -U uId -P uPass -c' 
    EXEC master..XP_CMDSHELL @cmd  
    

    http://msdn.microsoft.com/en-us/library/ms162802.aspx

    【讨论】:

      猜你喜欢
      • 2019-03-16
      • 2021-06-15
      • 1970-01-01
      • 2020-04-06
      • 2021-11-13
      • 2010-11-24
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      相关资源
      最近更新 更多