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

Extract a Single File from a RAR Archive

Demonstrates how to open a RAR archive and extract a single file at a time.

Note: The Chilkat RAR ActiveX objects are included in the "Chilkat Zip" ActiveX download. The RAR functionality contained within ChilkatZip2.dll is freeware, however, the Chilkat Zip, GZip, and .Z functionality is not freeware.

The Chilkat RAR for .NET and C++ are bundled in downloads that contain all Chilkat classes (both free and non-free). Make sure you select the download that matches your .NET Framework or VC++ version (6/7/8).

If running on x64, download the ActiveX, .NET, or C++ builds marked specifically for x64.

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

    --  Note: The Chilkat RAR functionality only provides the ability
    --  to open, list, and "unrar" (i.e. extract) RAR archives.  It does
    --  not provide the ability to create RAR archives.

    --  Also, the Chilkat RAR functionality is free.  It does not
    --  require a license to use indefinitely.

    DECLARE @success int

    EXEC sp_OAMethod @rar, 'Open', @success OUT, 'abc123.rar'
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @rar, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END

    --  Entries within the RAR can be accessed by name or by index.
    DECLARE @entry int

    EXEC sp_OAMethod @rar, 'GetEntryByName', @entry OUT, 'HelloWorld123.txt'
    IF @entry Is NULL 
      BEGIN
        EXEC sp_OAGetProperty @rar, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
      END
    ELSE
      BEGIN
        EXEC sp_OAMethod @entry, 'Unrar', @success OUT, 'c:/temp/unrarDest'
        IF @success = 0
          BEGIN
            EXEC sp_OAGetProperty @rar, 'LastErrorText', @sTmp0 OUT
            PRINT @sTmp0
          END
        ELSE
          BEGIN
            PRINT 'Success.'
          END
      END

    --  Alternatively, get an entry by index.  The first entry
    --  is at index 0.
    EXEC sp_OAMethod @rar, 'GetEntryByIndex', @entry OUT, 0
    IF @entry Is NULL 
      BEGIN
        EXEC sp_OAGetProperty @rar, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
      END
    ELSE
      BEGIN
        EXEC sp_OAMethod @entry, 'Unrar', @success OUT, 'c:/temp/unrarDest'
        IF @success = 0
          BEGIN
            EXEC sp_OAGetProperty @rar, 'LastErrorText', @sTmp0 OUT
            PRINT @sTmp0
          END
        ELSE
          BEGIN
            PRINT 'Success.'
          END
      END


END
GO

 

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

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