Sample code for 30+ languages & platforms
SQL Server

Set a Custom Last-Modified Date in a Gzip File

See more Gzip Examples

This example demonstrates how to use the SetDt method to specify a custom last-modified date and time that will be embedded in a Gzip file.

A CkDateTime object is first initialized with a specific date/time using an RFC 822 formatted string. This date/time is then applied to the Gzip object using SetDt.

When a compression method is called (such as CompressStringToFile), the specified date/time is included in the Gzip metadata. This allows the resulting .gz file to carry a meaningful timestamp rather than using the current system time.

Chilkat SQL Server Downloads

SQL Server
-- 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

    -- This example demonstrates how to set a custom last-modified date/time
    -- that will be embedded in a Gzip file.

    DECLARE @gzip int
    EXEC @hr = sp_OACreate 'Chilkat.Gzip', @gzip OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @dt int
    EXEC @hr = sp_OACreate 'Chilkat.CkDateTime', @dt OUT

    -- Set the date/time using a timestamp format (ISO 8601 style):
    EXEC sp_OAMethod @dt, 'SetFromTimestamp', @success OUT, '2025-11-15T12:45:26-05:00'

    -- Apply the date/time to the Gzip object:
    EXEC sp_OAMethod @gzip, 'SetDt', @success OUT, @dt
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @gzip, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @gzip
        EXEC @hr = sp_OADestroy @dt
        RETURN
      END

    -- Compress a string so the custom date/time is embedded in the .gz:
    DECLARE @inputStr nvarchar(4000)
    SELECT @inputStr = 'Example text for Gzip compression.'
    EXEC sp_OAMethod @gzip, 'CompressStringToFile', @success OUT, @inputStr, 'utf-8', 'output.gz'
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @gzip, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @gzip
        EXEC @hr = sp_OADestroy @dt
        RETURN
      END


    PRINT 'Gzip file created with custom last-modified date.'

    EXEC @hr = sp_OADestroy @gzip
    EXEC @hr = sp_OADestroy @dt


END
GO