将Sql Recordset保存到格式正确的csv文件中?

时间:2009-11-27 02:32:09

标签: sql sql-server tsql

我需要将我的sql查询结果转储到文本文件中。我创建了以下查询,

DECLARE @cmd VARCHAR(2048) 

SET @cmd = 'OSQL -Slocalhost ' 
            + ' -UCRN370 -PCRN370' 
            + ' -Q"SELECT TOP 5 GageId FROM EwQMS370..msgages"' 
            + ' -oc:\authors.csv' 

EXEC master..xp_cmdshell @cmd, NO_OUTPUT

以上查询创建了CSV文件authors.CSV。但是文件的内容格式不正确。他们展示了一些垃圾数据。

我需要创建一个格式化的csv文件。

1 个答案:

答案 0 :(得分:0)

您可以使用BCP,CLR,SSIS或DTS执行此操作,因为您的示例BCP可能是最合适的。

BCP EwQMS370..msgages out c:\Authors.csv -c -t, -T –S<servername>

您仍然可以通过xp_cmdshell以与示例中相同的方式运行此操作;只有BCP会为您完成繁重的CSV格式化。 Booksonline将更详细地介绍BCP。如果您需要从表中选择较少的列,请创建一个视图以限制数据。