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

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

 

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