Monday, April 18, 2011

Create CSV file from a query using SQLCMD.

ALTER PROC [dbo].[create_csv_from_query]
(
@FullFileName VARCHAR(MAX),
@Query VARCHAR(MAX),
@Server VARCHAR(50) ='DEV',
@Database VARCHAR(50) ='Test'
)
AS
BEGIN
-- Query should have nocount on
DECLARE @cmd VARCHAR(2000)

SET @cmd = 'sqlcmd -S '+@Server+' -d '+@Database+' -E -o "'+@FullFileName +'" -Q "'+@Query+'" -W -w20000 -s","'
EXEC master..xp_cmdshell @cmd

END