2010-03-01 63 views
1

有沒有辦法直接將從TSQL /存儲過程返回的結果寫入文本文件(不使用CTRL + T =>結果到文本)。由於這個TSQL在我的一個服務例程中是動態的。每當我調用這個服務例程,它就會生成SQL Statement =>執行,並且在這裏我想通過傳遞filepath作爲參數來將它指向文本文件。在腳本中輸出TSQL結果到文本文件

這怎麼辦?

感謝

回答

1

像這樣的工作:

declare @cmd varchar(500) 
select @cmd = 'osql -U -P -S -Q"select * from myTable" -o"c:\output.txt" -w500' 
exec master..xp_cmdshell @cmd 

你也可以通過創建一個基於C#的存儲過程,並通過CLR執行它做到這一點。

+1

大多數數據庫管理員都會刪除對'xp_cmdshell'的訪問權限。在這種情況下,從外部SQL Server執行(在命令行上)是最佳選擇。 – 2010-03-01 00:14:38