2015-11-29 3 views
0

Я начинаю на SQL Server и хочу сохранить результат запроса auto в файле csv.Почему я не могу сохранить результат запроса в файле csv SQL Server?

Это запрос:

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

но получаю эту ошибку:

Unclosed quotation mark after the character string 'bcp "SELECT [ID] ,[FirstName] ,[LastName] ,[StartYear] FROM [dbo].[Employees]" queryout "e:\text.txt" -c -T -x

Что случилось? Как я могу это решить?

Я получаю эту ошибку:

enter image description here

ответ

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 -> Tasks -> Export Data -> Flat File Destination

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

+0

спасибо, но теперь получаю эту ошибку: SQL Server заблокировали доступ к процедуре «SYS .xp_cmdshell ' – user3671271

+0

ok отличные люди, теперь не получайте ошибку, но ничего не сохраняйте в файле – user3671271

+0

@ user3671271 В вашей таблице содержатся какие-либо данные? – lad2025