A further example from MSDN reference of a VB function, testing the behavior of the READ method, for different lengths, repeated.
SET nocount ON DECLARE @ForReading INT , @ForWriting INT , @ForAppending INT SELECT @ForReading = 1, @ForWriting = 2, @ForAppending = 8 DECLARE @fso INT, @file INT, @hr INT EXEC @hr = sp_OACreate 'Scripting.FileSystemObject', @fso OUT EXEC @hr = sp_OAMethod @fso, 'opentextfile', @file out, 'c:\testfile.txt', @ForWriting, 1 EXEC @hr = sp_OAMethod @file, 'Write', NULL, '123456789 Hello My world!' EXEC @hr = sp_OADestroy @file EXEC master..xp_cmdshell 'dir c:\testfile.txt' DECLARE @vcOut VARCHAR(100) DECLARE @vcOut1 VARCHAR(100) EXEC @hr = sp_OAMethod @fso, 'opentextfile', @file out, 'c:\testfile.txt', @ForReading, 1 EXEC @hr = sp_OAMethod @file, 'Read', @vcOut out , 7 EXEC @hr = sp_OAMethod @file, 'Read', @vcOut1 out , 2 EXEC @hr = sp_OADestroy @file EXEC @hr = sp_OADestroy @fso PRINT REPLICATE('-',100) PRINT @vcOUT PRINT @vcOUT1