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

Get FTP Directory Listing Information

SQL Server example showing how to get information about files and subdirectories in the current remote FTP directory.

Download Chilkat FTP2 ActiveX

CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @ftp int
    EXEC @hr = sp_OACreate 'Chilkat.Ftp2', @ftp 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 @ftp, 'UnlockComponent', @success OUT, 'Anything for 30-day trial'
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @ftp, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END

    EXEC sp_OASetProperty @ftp, 'Hostname', 'www.example-code.com'
    EXEC sp_OASetProperty @ftp, 'Username', '****'
    EXEC sp_OASetProperty @ftp, 'Password', '****'

    --  Connect and login to the FTP server.
    EXEC sp_OAMethod @ftp, 'Connect', @success OUT
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @ftp, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END

    --  The ListPattern property is our directory listing filter.
    --  The default value is "*", which includes everything.
    EXEC sp_OAGetProperty @ftp, 'ListPattern', @sTmp0 OUT

    PRINT @sTmp0

    --  To get file and sub-directory information, simply
    --  loop from 0 to ftp.NumFilesAndDirs - 1
    DECLARE @i int

    DECLARE @n int

    EXEC sp_OAGetProperty @ftp, 'NumFilesAndDirs', @n OUT

    IF @n < 0
      BEGIN
        EXEC sp_OAGetProperty @ftp, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END
    IF @n > 0
      BEGIN
        SELECT @i = 0
        WHILE @i <= @n - 1
          BEGIN

            --  Display the filename
            EXEC sp_OAMethod @ftp, 'GetFilename', @sTmp0 OUT, @i
            PRINT @sTmp0

            --  Display the file size (in bytes)
            EXEC sp_OAMethod @ftp, 'GetSize', @iTmp0 OUT, @i
            PRINT @iTmp0

            --  Is this a sub-directory?
            EXEC sp_OAMethod @ftp, 'GetIsDirectory', @sTmp0 OUT, @i            IF @sTmp0 = 1
              BEGIN

                PRINT '.. this is a sub-directory'
              END


            PRINT '--'
            SELECT @i = @i + 1
          END
      END


    PRINT '-----------------------------------'

    --  Changing the ListPattern automatically changes the value
    --  of the NumFilesAndDirs property.  Only files and directories
    --  matching the ListPattern are returned.
    EXEC sp_OASetProperty @ftp, 'ListPattern', '*.asp'
    EXEC sp_OAGetProperty @ftp, 'NumFilesAndDirs', @n OUT

    IF @n < 0
      BEGIN
        EXEC sp_OAGetProperty @ftp, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        RETURN
      END
    IF @n > 0
      BEGIN
        SELECT @i = 0
        WHILE @i <= @n - 1
          BEGIN

            --  Display the filename
            EXEC sp_OAMethod @ftp, 'GetFilename', @sTmp0 OUT, @i
            PRINT @sTmp0

            --  Display the file size (in bytes)
            EXEC sp_OAMethod @ftp, 'GetSize', @iTmp0 OUT, @i
            PRINT @iTmp0


            PRINT '--'
            SELECT @i = @i + 1
          END
      END

    EXEC sp_OAMethod @ftp, 'Disconnect', NULL
END
GO

 

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

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