SQL Server 2008 - use cmd to output with headers to .csv -


i have pretty simple question (and these typically ones spend of time tearing hair out about). using batch file execute .sql queries in same directory batch, , save results various .csv file.

here code:

@echo off  rem check parameters present @if "%1"=="" goto error @if "%2"=="" goto error @if "%3"=="" goto error @if "%4"=="" goto error  rem every *.sql file in folder "." , subfolders (/r), following:  @for /r "." %%f in (*.sql) ( rem print command executed: @echo database : @sqlcmd -s %1 -u %2 -p %3 -d %4 -i -l60 -i "%%f" -o "%%f.output.csv"  -h-1 -s"," -w 1000 -w rem execute command: @sqlcmd -s %1 -u %2 -p %3 -d %4 -i -l60 -i "%%f" -o "%%f.output.csv" -h-1 -s"," -w 1000 -w )  goto :eof  :error  @echo incorrect syntax :  @echo     extract.cmd [servername] [user id] [password] [databasename] @echo    @pause  goto :eof 

as test, run following query:

select top(10) [name] sysobjects  

which outputs:

sysrscols sysrowsets sysallocunits sysfiles1 syspriorities sysfgfrag sysphfg sysprufiles sysftinds sysowners  (10 rows affected) 

this works fine, except 2 things. firstly, need have column headers output well. remove "-h -1" parameter, gives:

name ---- sysrscols sysrowsets sysallocunits sysfiles1 syspriorities sysfgfrag sysphfg sysprufiles sysftinds sysowners  (10 rows affected) 

which great except fact don't want horizontal rule "------" between heading , first row of data.

also, don't want "(10 rows affected)" line output.

does know how achieve this?

thanks
karl

try this:

set nocount on; select     [name]     (select top(10)               2 sortby, [name]               sysobjects            union           select 1, 'name'          ) dt     order [name] 

output ssms:

name ---------------------------------------------- name sysallocunits sysfiles1 sysftinds syshobtcolumns syshobts sysowners sysprivs sysrowsetcolumns sysrowsets sysserefs 

leave "-h -1" parameter , column headings removed, "name" row still appear in result set first.


Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -