SQL Server
SQL Server
Split File into Chunks
Demonstrates how to split a file into chunks.Chilkat SQL Server Downloads
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
DECLARE @fac int
EXEC @hr = sp_OACreate 'Chilkat.FileAccess', @fac OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
-- Any type of file may be split. It doesn't matter if it's
-- a binary file or a text file.
DECLARE @fileToSplit nvarchar(4000)
SELECT @fileToSplit = 'qa_data/hamlet.xml'
DECLARE @partPrefix nvarchar(4000)
SELECT @partPrefix = 'hamlet'
DECLARE @partExtension nvarchar(4000)
SELECT @partExtension = 'part'
DECLARE @maxChunkSize int
SELECT @maxChunkSize = 50000
DECLARE @destDirPath nvarchar(4000)
SELECT @destDirPath = 'qa_output'
-- Splits hamlet.xml into hamlet1.part, hamlet2.part, ...
-- Output files are written to the current working directory.
-- Each chunk will be 50000 bytes except for the last which
-- will be the remainder.
EXEC sp_OAMethod @fac, 'SplitFile', @success OUT, @fileToSplit, @partPrefix, @partExtension, @maxChunkSize, @destDirPath
IF @success = 1
BEGIN
PRINT 'Success.'
END
ELSE
BEGIN
EXEC sp_OAGetProperty @fac, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
END
EXEC @hr = sp_OADestroy @fac
END
GO