Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Extract a Single File from a RAR ArchiveDemonstrates 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.