5

我在 MSSQL 2008 R2 management Studio 中使用这样的代码将 SELECT 语句的结果写入网络共享上的 csv 文件:

SET NOCOUNT ON;   
GO    
:OUT \\163.123.45.678\SomeFolder\mydata.csv    
SELECT id, name, surname FROM sometable;    
GO

这会mydata.csv在正确的位置创建文件,但 csv 文件末尾有一个额外的空白行。如何防止在 csv 文件中创建该空行?

以上是将sql查询的输出写入文本文件的最佳方法吗?我无法使用 BCP。

谢谢。

4

3 回答 3

1

我认为您可以使用 SSIS 包来获取 .CSV 格式的查询结果。有时您可能会在两个 lisne 之间获得空白行或空格,在这种情况下,“派生列”转换任务并删除或修剪不需要的空格和行。

于 2012-12-27T10:45:06.903 回答
0

最后,使用 SSIS 包是一个更好的解决方案。

于 2013-04-15T19:00:01.830 回答
0

您可以从命令提示符尝试以下操作吗?

C:\>sqlcmd -S SQLServerHost -W -Q "SET NOCOUNT ON; SELECT TOP 5 date_id, previous_date, next_date FROM dates WHERE month_key = 201212" > testNoLine.txt

结果:

在此处输入图像描述

生成的文件底部没有多余的行(与 SSMS 执行不同)。

于 2012-12-27T17:01:30.720 回答