SQL Server Stored Procedure Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

SQL Server
Stored Procedure Examples

Quick Start
Encryption
File Access
IMAP
POP3
SMTP
Email Object
FTP
HTML-to-XML
HTTP
MHT
MIME
RSA Encryption
Socket
Spider
String
Tar
Upload
XML
XMP
Zip

Byte Array
RSS
Atom
Self-Extractor

Unzip a Single File by Index

Unzip a single file by index.

Download Chilkat Zip ActiveX

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

    --  How many files and directory entries are in this .zip?
    DECLARE @n int

    EXEC sp_OAGetProperty @zip, 'NumEntries', @n OUT



    PRINT 'Num entries = ' + STR(@n)

    --  Let's say we want to unzip the 3rd entry:
    DECLARE @entry int

    EXEC sp_OAMethod @zip, 'GetEntryByIndex', @entry OUT, 2
    IF @entry Is NULL 
      BEGIN
        PRINT 'Index out of range!'
        RETURN
      END
    ELSE
      BEGIN
        --  Unzip it to C:/myTempDir
        EXEC sp_OAMethod @entry, 'ExtractInto', @success OUT, 'c:/myTempDir'
        IF @success <> 1
          BEGIN
            EXEC sp_OAGetProperty @entry, 'LastErrorText', @sTmp0 OUT
            PRINT @sTmp0
            RETURN
          END
        ELSE
          BEGIN
            PRINT 'Extracted 1 file!'
          END
      END


END
GO

 

Need a specific example? Send a request to support@chilkatsoft.com

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