我是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
发生什么事了?我该如何解决?
我收到此错误:
答案 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