Query to CSV File Using BCP
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
DECLARE @FileName VARCHAR(50)
,@bcpCommand VARCHAR(2000)
--SET @FileName = REPLACE('c:\authors_' + CONVERT(CHAR(8), GETDATE(), 1) + '.txt', '/', '-')
SET @FileName = REPLACE('c:\123.csv', '/', '-')
SET @bcpCommand = 'bcp "SELECT * FROM [TCIV3_Dev].[dbo].[LUXOR_PM_PRODUCT_DIM]" queryout "'
SET @bcpCommand = @bcpCommand + @FileName + '" -c -t, -T -S .'
EXEC master..xp_cmdshell @bcpCommand
select * from [dbo].[LUXOR_PM_PRODUCT_DIM]
------------------------------------------------------------------------------------------------------
-- =============================================
-- Author: Chandrashekar Naik D
-- Create date: 2015-05-22
-- Description: Create CSV Files Per Manager for entire EngineerResponsibleProductsXActivityRating table
-- This is alternative to each manager exporting the report to csv and sending to SASSI for Salesforce Integragion
-- =============================================
alter proc USP_Utility_GenerateCSVFileInBulk
AS
BEGIN
DECLARE @tblMgr TABLE (
Id INT IDENTITY(1, 1)
,MgrUserId VARCHAR(255)
,MgrEmpId VARCHAR(255)
,MrgName VARCHAR(255)
)
DECLARE @MgrUserId VARCHAR(255)
DECLARE @MgrEmpId VARCHAR(255)
DECLARE @MrgName VARCHAR(255)
DECLARE @I INT = 1
,@I_RowCount INT
INSERT INTO @tblMgr (
MgrUserId
,MgrEmpId
,MrgName
)
SELECT UserId
,EmpId
,UserName
FROM [user]
WHERE UserId IN (
SELECT DISTINCT InternalManagerId
FROM [user]
WHERE UserId IN (
SELECT DISTINCT UserId
FROM EngineerResponsibleProductsXActivityRating
)
)
SET @I_RowCount = @@ROWCOUNT
SET @I = 1
WHILE (@I <= @I_RowCount)
BEGIN
SELECT @MgrUserId = MgrUserId
,@MgrEmpId = MgrEmpId
,@MrgName = MrgName
FROM @tblMgr
WHERE Id = @I
--PRINT @MgrUserId + ' ' + @MgrEmpId + ' ' + @MrgName
DECLARE @MgrCode VARCHAR(255) = @MrgName + '_' + @MgrUserId + '_' + @MgrEmpId
DECLARE @FileName VARCHAR(255)
,@bcpCommand VARCHAR(2000)
SET @FileName = REPLACE('E:\CSVFiles\' + @MgrCode + '.csv', '/', '-')
SET @bcpCommand = 'bcp "exec [TCIV3_Dev].[dbo].[USP_GetEngxProductxRatingReport] @ManagerID=' + @MgrUserId + ',@CenterId=2" queryout "'
SET @bcpCommand = @bcpCommand + @FileName + '" -c -t, -T -S PATTEST'
EXEC master..xp_cmdshell @bcpCommand
SET @I = @I + 1
END
END