如何导出存储过程中的文件?

时间:2009-11-21 00:27:44

标签: tsql

我尝试了BCP,但没有用。 Sql不断给我一些帮助文本..

无论如何,这没关系,因为我不想将存储的proc AGAIN的内容粘贴到一个字符串中,这样就可以导出了。

我的问题:我有一个现有的存储过程。我希望它能自动将结果输出到文本文件中。

任何线索?

2 个答案:

答案 0 :(得分:0)

这很容易

CREATE PROCEDURE sp_AppendToFile(@ FileName varchar(255),@ Text1 varchar(255))AS DECLARE @FS int,@ OLEResult int,@ FileID int

EXECUTE @OLEResult = sp_OACreate'Scripting.FileSystemObject',@ FS OUT 如果@OLEResult<> 0 PRINT'Scripting.FileSystemObject' :打开一个文件 执行@OLEResult = sp_OAMethod @FS,'OpenTextFile',@ FileID OUT,@ FileName,8,1 如果@OLEResult<> 0 PRINT'OpenTextFile'

- 写Text1 执行@OLEResult = sp_OAMethod @FileID,'WriteLine',Null,@ Text1 如果@OLEResult<> 0 PRINT'WriteLine'

EXECUTE @OLEResult = sp_OADestroy @FileID EXECUTE @OLEResult = sp_OADestroy @FS

来自:http://www.motobit.com/tips/detpg_SQLWrFile/

答案 1 :(得分:0)

假设您在服务器MyServer上的数据库MyDB中存储过程MyProc,并且您希望结果以制表符分隔的输出文件MyResults:

  

bcp“exec MyDB.dbo.MyProc”queryout MyResults -T -c -t \ t -S MyServer

应该有效。 bcp还提供了许多其他输出选项。