为什么我不能将查询结果保存到csv文件SQL Server?

时间:2015-11-29 11:22:50

标签: sql-server tsql bcp xp-cmdshell

我是SQL Server的初学者,想在csv文件中自动保存查询结果。

这是查询:

EXEC master..xp_cmdshell'bcp "SELECT [ID]
      ,[FirstName]
      ,[LastName]
      ,[StartYear]
  FROM [dbo].[Employees]" queryout "e:\text.txt" -c -T -x

但得到此错误:

  

字符串后的未闭合引号&#; bcp" SELECT [ID]             ,[名字]             ,[姓]             [StartYear]         来自[dbo]。[员工]" queryout" e:\ text.txt" -c -T -x

发生什么事了?我该如何解决?

我收到此错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用:

DECLARE @sql VARCHAR(8000);

SET @sql = 'bcp "SELECT [ID]
      ,[FirstName]
      ,[LastName]
      ,[StartYear]
  FROM [dbo].[Employees]" queryout "e:\text.txt" -c -T -t, -S' + @@servername;

EXEC master..xp_cmdshell @sql;

首先需要启用xp_cmdshell

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO

请记住,启用它可能会使您遇到某种类型的攻击,您应该避免使用它。

<小时/> 或者,如果您需要这样做,可以使用SSMS - &gt; Tasks - &gt; Export Data - &gt; Flat File Destination

http://www.sqlservercurry.com/2011/01/sql-server-export-table-to-csv.html