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
Diffie-Hellman
DSA
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
String
Tar
Upload
XML
XMP
Zip

Bz2
CSV
FileAccess
Byte Array
RSS
Atom
Self-Extractor

Controlling Paths of Files Added to Zip

When appending files to a .zip, it can be difficult to get the paths exactly as you want them. This example describes a way that you can control the path information when adding a single file at a time to a .zip.

Download Chilkat Zip ActiveX

CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    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

    EXEC sp_OAMethod @zip, 'UnlockComponent', @success OUT, 'anything for 30-day trial'
    IF @success <> 1
      BEGIN
        PRINT 'Failed to unlock zip component'
        RETURN
      END

    --  Intialize the zip object by calling NewZip.
    EXEC sp_OAMethod @zip, 'NewZip', NULL, 'myZip.zip'

    --  Add a reference to a file on disk to the zip object.
    --  (When appending files to a zip, the files are not actually
    --  read into memory.  References to the file(s) are added.
    --  When WriteZip is called, the referenced files are streamed in
    --  and compressed to the .zip.)
    DECLARE @saveExtraPath int

    SELECT @saveExtraPath = 0
    EXEC sp_OAMethod @zip, 'AppendOneFileOrDir', @success OUT, 'c:/temp/a/hamlet.xml', @saveExtraPath
    --  For brevity, this example will not check the return status...

    --  The saveExtraPath argument, if set, will cause the path information
    --  passed in the 1st argument to be saved in the .zip.

    --  To add "a/hamlet.xml", do this:
    EXEC sp_OASetProperty @zip, 'AppendFromDir', 'c:/temp'
    SELECT @saveExtraPath = 1
    EXEC sp_OAMethod @zip, 'AppendOneFileOrDir', @success OUT, 'a/hamlet.xml', @saveExtraPath

    --  To add "temp/a/hamlet.xml", do this:
    EXEC sp_OASetProperty @zip, 'AppendFromDir', 'c:/'
    SELECT @saveExtraPath = 1
    EXEC sp_OAMethod @zip, 'AppendOneFileOrDir', @success OUT, 'temp/a/hamlet.xml', @saveExtraPath

    --  The zip written here will contain hamlet.xml three times,
    --  each with a different relative path.
    EXEC sp_OAMethod @zip, 'WriteZipAndClose', @success OUT
END
GO

 

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

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