我尝试了BCP,但没有用。 Sql不断给我一些帮助文本..
无论如何,这没关系,因为我不想将存储的proc AGAIN的内容粘贴到一个字符串中,这样就可以导出了。
我的问题:我有一个现有的存储过程。我希望它能自动将结果输出到文本文件中。
任何线索?
答案 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
答案 1 :(得分:0)
假设您在服务器MyServer上的数据库MyDB中存储过程MyProc,并且您希望结果以制表符分隔的输出文件MyResults:
bcp“exec MyDB.dbo.MyProc”queryout MyResults -T -c -t \ t -S MyServer
应该有效。 bcp还提供了许多其他输出选项。