CREATE PROCEDURE [dbo].[sp_AppendToFile](@FileName varchar(255), @Text1 varchar(max), @Append int)
AS
DECLARE @FS int, @OLEResult int, @FileID int
EXECUTE @OLEResult = sp_OACreate 'Scripting.FileSystemObject', @FS OUT
IF @OLEResult <> 0 PRINT 'Scripting.FileSystemObject'
--Open a file
If @Append = 1
execute @OLEResult = sp_OAMethod @FS, 'OpenTextFile', @FileID OUT, @FileName, 8, 1
Else
Begin
-- 若使用 CreateTextFile, 再Append時, 不知為何會有亂碼, 所以只好先刪除再新增
--execute @OLEResult = sp_OAMethod @FS, 'CreateTextFile', @FileID OUT, @FileName, 8, 1
execute @OLEResult = sp_OAMethod @FS, 'DeleteFile', Null, @FileName
execute @OLEResult = sp_OAMethod @FS, 'OpenTextFile', @FileID OUT, @FileName, 8, 1
End
IF @OLEResult <> 0 PRINT 'OpenTextFile'
--Write Text1
execute @OLEResult = sp_OAMethod @FileID, 'WriteLine', Null, @Text1
IF @OLEResult <> 0 PRINT 'WriteLine'
EXECUTE @OLEResult = sp_OADestroy @FileID
EXECUTE @OLEResult = sp_OADestroy @FS
-- exec sp_AppendToFile 'd:\sql.text', 'Test103', 1
- May 04 Tue 2010 11:28
MS SQL 寫實體檔(如 文字檔)
全站熱搜
留言列表