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


arrow
arrow
    全站熱搜

    bagwant 發表在 痞客邦 留言(0) 人氣()