![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Compress a File to Gzip in Memory using BinDataSee more Gzip ExamplesThis example demonstrates how to use the The input file is read from disk and compressed, with the resulting Finally, the example shows how the in-memory Gzip data can be written to a file, which is useful for saving or distributing the compressed output.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @success int SELECT @success = 0 -- This example demonstrates how to compress a file into Gzip format -- and store the compressed result in a BinData object (in memory). DECLARE @gzip int EXEC @hr = sp_OACreate 'Chilkat.Gzip', @gzip OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @bd int EXEC @hr = sp_OACreate 'Chilkat.BinData', @bd OUT -- The file to be compressed: DECLARE @filePath nvarchar(4000) SELECT @filePath = 'example.txt' -- Compress the file into the BinData object: EXEC sp_OAMethod @gzip, 'CompressFileBd', @success OUT, @filePath, @bd IF @success = 0 BEGIN EXEC sp_OAGetProperty @gzip, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @gzip EXEC @hr = sp_OADestroy @bd RETURN END -- At this point, "bd" contains the Gzip-compressed data in memory. PRINT 'Compression successful.' EXEC sp_OAGetProperty @bd, 'NumBytes', @iTmp0 OUT PRINT 'Compressed size (bytes): ' + @iTmp0 -- (Optional) Save the in-memory Gzip data to a file: EXEC sp_OAMethod @bd, 'WriteFile', @success OUT, 'example.txt.gz' IF @success = 0 BEGIN EXEC sp_OAGetProperty @bd, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @gzip EXEC @hr = sp_OADestroy @bd RETURN END PRINT 'Gzip file written to example.txt.gz' EXEC @hr = sp_OADestroy @gzip EXEC @hr = sp_OADestroy @bd END GO |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.