SQL Server Stored Procedure Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

SQL Server
Stored Procedure Examples

Quick Start
Encryption
File Access
IMAP
POP3
SMTP
Email Object
DKIM / DomainKey
FTP
HTML Conversion
HTTP
MHT
MIME
NTLM
RSA
Diffie-Hellman
DSA
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
String
Tar
Upload
XML
XMP
Zip

Amazon S3
Bz2
CSV
FileAccess
Byte Array
RSS
Atom
Self-Extractor

Unzip Selected Files from a Zip Archive

Demonstrates how to iterate over the files contained within a .zip and unzip specific files.

Download Chilkat 32-bit Zip ActiveX (.msi) (includes objects for .zip, .gz, .bz2, and .Z)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @zip int
    EXEC @hr = sp_OACreate 'Chilkat.Zip2', @zip OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int

    --  Any string unlocks the component for the 1st 30-days.
    EXEC sp_OAMethod @zip, 'UnlockComponent', @success OUT, 'Anything for 30-day trial'
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @zip, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END

    EXEC sp_OAMethod @zip, 'OpenZip', @success OUT, 'my_photos.zip'
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @zip, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END

    DECLARE @unzipDir nvarchar(4000)

    SELECT @unzipDir = 'c:/temp/unzipDir'

    DECLARE @n int

    --  Get the number of files and directories in the .zip
    EXEC sp_OAGetProperty @zip, 'NumEntries', @n OUT


    PRINT STR(@n)

    DECLARE @entry int

    DECLARE @i int

    SELECT @i = 0
    WHILE @i <= @n - 1
      BEGIN

        EXEC sp_OAMethod @zip, 'GetEntryByIndex', @entry OUT, @i
        EXEC sp_OAGetProperty @entry, 'IsDirectory', @sTmp0 OUT
        IF @sTmp0 = 0
          BEGIN
            --  (the filename may include a path)
            EXEC sp_OAGetProperty @entry, 'FileName', @sTmp0 OUT

            PRINT @sTmp0

            --  Your application may choose to unzip this entry
            --  based on the filename.
            --  If the entry should be unzipped, then call Extract(unzipDir)
            EXEC sp_OAMethod @entry, 'Extract', @success OUT, @unzipDir
            IF @success <> 1
              BEGIN
                EXEC sp_OAGetProperty @entry, 'LastErrorText', @sTmp0 OUT
                PRINT @sTmp0
                RETURN
              END
          END

        SELECT @i = @i + 1
      END
END
GO

 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.