首页 > 代码库 > 【转】SQL Server T-SQL写文本文件

【转】SQL Server T-SQL写文本文件

原文:http://www.nigelrivett.net/SQLTsql/WriteTextFile.html

 

The are several methods of creating text files from sql server.

  • osql
  • bcp
  • redirection commands
  • sp_MakeWebTask
  • Com object calls

Remember that in all cases the path of the output file will be relative to the server - not to the client on which the application is running.

osql.
This example will just output master..sysobjects to the file c:\osqloutput.txt.

declare @cmd varchar(1000)select @cmd = osql -U -P -S -Q"select * from master..sysobjects" -o"c:\osqloutput.txt" -w500exec master..xp_cmdshell @cmd

bcp
bcp very fast and easy to use for just dumping a table out - can be used against a view too.

master..xp_cmdshell bcp master..sysobjects out c:\file.bcp -S -U -P -c 

redirection commands
You will need to create the data to be output as in dynamic sql statements
The first command here creates or overwrites the file - the rest append to the file.

exec master..xp_cmdshell echo hello > c:\file.txtexec master..xp_cmdshell echo appended data >> c:\file.txtexec master..xp_cmdshell echo more data >> c:\file.txt

will generate a file containing
hello
appended data
more data

sp_MakeWebTask
This is for creating html code from a query

Com object calls
Using sp_oa... system stored procedures and creating com objects or existing applications you can probably do whatevr you wish - but you should probably ask whether sql server is the right place to control this.

【转】SQL Server T-SQL写文本文件