[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

SQL column Headers to a TXT file

Posted on 2013-11-27
5
Medium Priority
?
390 Views
Last Modified: 2013-12-16
hi All


I am using the following to take data from an output file and put into a .TXT file
Is it possible within the same procedure to output the first line as the column headers ? if So how do I do it please

thanks
Mike


CREATE Procedure Z_TEST_BCP_Text_File
(
@table varchar(100),
@FileName varchar(100)
)
as
If exists(Select * from information_Schema.tables where table_name='databaselog')
    Begin
        Declare @str varchar(1000)
        set @str='Exec Master..xp_Cmdshell ''bcp "Select * from '+db_name()+'..'+@table+'" queryout "'+@FileName+'" -c -t"|" -T '''
        Exec(@str)
    end
else
    Select 'The table '+@table+' does not exist in the database'


to execute I run the following command
EXEC Z_TEST_BCP_Text_File 'My_File_Name','C:\My_Output_File.txt'
0
Comment
Question by:MECR123
  • 3
  • 2
5 Comments
 
LVL 5

Accepted Solution

by:
Lawrence Barnes earned 1200 total points
ID: 39681291
Two options I think.
1. Create a union query that joins the column names with the data and then BCP that out.  The data would have to be converted to character in the union.
2. BCP out the column names, BCP out the data into a temporary file, then join the two files. The benefit here is that you don't have to convert the data into char.

There's a conversation about this here:  http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=127655 and at the bottom there's a link to an Excel version.

LVBarnes
0
 

Author Comment

by:MECR123
ID: 39689522
hi

thanks for that - that is a good link

Just one further question please

I have concatenated the 2 files - Header file and Data file - however the data starts off on line 1 as well - is there a way to get this to start on line 2 so that
Line 1 = Headers - Line 2 onwards is the data

thanks
Mike
0
 
LVL 5

Expert Comment

by:Lawrence Barnes
ID: 39692281
Sounds like you need to switch the order of the concatenation of the two files.  

master..xp_cmdshell 'data.txt >> column headers.txt'
master..xp_cmdshell 'del data.txt'
0
 

Author Comment

by:MECR123
ID: 39698107
hi

thanks for that - but I that is not the issue

Line one contains the header and first line of data - the file is coming out as 'test sample 01' attachment
I would like it to come out as 'test sample 01 good' attachment


appreciate you help

thanks
Mike
TEST-SAMPLE-01.txt
TEST-SAMPLE-01-Good.txt
0
 
LVL 5

Expert Comment

by:Lawrence Barnes
ID: 39702488
I will look at this tonight...sorry about the delay.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

So every once in a while at work I am asked to export data from one table and insert it into another on a different server.  I hate doing this.  There's so many different tables and data types.  Some column data needs quoted and some doesn't.  What …
In SQL Server, when rows are selected from a table, does it retrieve data in the order in which it is inserted?  Many believe this is the case. Let us try to examine for ourselves with an example. To get started, use the following script, wh…
This video shows how to quickly and easily deploy an email signature for all users in Office 365 and prevent it from being added to replies and forwards. (the resulting signature is applied on the server level in Exchange Online) The email signat…
Integration Management Part 2

873 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question