CREATE PROCEDURE proc_copyFile
@srcfileName varchar(255), @descfilename varchar(255),@message varchar(1024) OUTPUT
AS
BEGIN
DECLARE @object int
DECLARE @hr int
DECLARE @src varchar(255), @desc varchar(255)
-- Create an object.
EXEC @hr = sp_OACreate 'Scripting.FileSystemObject', @object OUT
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
SET @message = @src+':'+@desc
RETURN
END
EXEC @hr = sp_OAMethod @object, 'CopyFile',null,@srcfilename,@descfilename
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
SET @message = @src+':'+@desc
RETURN
END
exec @hr=sp_oadestroy @object
set @message='done'
end
go
Declare @msg varchar(1024)
exec proc_copyFile N'D:/email.dat',N'D:/email_copy.dat',@msg output
print @msg
drop procedure proc_copyFile