SQLUSA
SQL Server 2005 Administration
Multi-Dimensional Business Intelligence
SSIS
Reporting Services

Microsoft SQL Server 2005 Best Practices

How to create a flat file from a stored procedure?

Execute the following Microsoft SQL Server T-SQL scripts to create a stored procedure for sample flat file export of data from the Production.Document table, execute it and demo data export using bcp with xp_cmdshell:

USE AdventureWorks;

GO

-- Export data from SQL Server to a flat file with xp_cmdshell and ECHO
-- SQL Server stored procedure create
 

CREATE PROCEDURE sprocExportDocumentTitles @Path varchar(128)

AS

BEGIN

DECLARE @Line varchar(1024)

DECLARE @Command varchar(2048)

DECLARE @i int, @imax int, @Return int

 

SELECT @imax=MAX(DocumentID) from Production.Document

SET @i = 1

WHILE (@i <= @imax)

BEGIN

      SELECT @Line=Title from Production.Document

            WHERE DocumentID = @i

      SET @Command= 'echo ' + @Line + ' >>'+ @Path

      EXEC @Return = master..xp_cmdshell @Command , no_output -- sql server xp_cmdshell

      SET @i = @i+1

END -- WHILE

END -- CREATE PROC

GO

 

-- EXECUTE STORED PROCEDURE 

EXEC sprocExportDocumentTitles 'F:\data\export\SampleDocTitle.txt'

GO

------------

-- SQL Server exporting data to text file with bcp

EXEC xp_cmdshell 'bcp "select ProductID, Name from AdventureWorks2008.Production.Product" queryout "C:\data\export\products.txt" -T -SDELLSTAR\SQL2008 -c -t,'

 

/*

output

NULL

Starting copy...

NULL

504 rows copied.

Network packet size (bytes): 4096

Clock Time (ms.) Total     : 15     Average : (33600.00 rows per sec.)

NULL

*/

 

The World Leader in SQL Server 2005 Training
 
SQLUSA.com Home Page