Sample code for 30+ languages & platforms
SQL Server

Check if the FTP Control Connection is Open

See more FTP Examples

Demonstrates the Chilkat Ftp2.CheckConnection method, which returns whether Chilkat currently considers the FTP control connection to be open. It takes no arguments and does not require the session to be authenticated.

Background: This reports the object's view of the control-connection state, which is distinct from being logged in — it can return true after ConnectOnly and before authentication. For a stronger liveness check that the server is actually responding, send a Noop, which requires a positive reply. FTP servers commonly drop idle control connections after a timeout, so long-lived sessions should verify before assuming the connection is still usable.

Chilkat SQL Server Downloads

SQL Server
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @success int
    SELECT @success = 0

    --  Demonstrates the Ftp2.CheckConnection method, which returns whether Chilkat currently considers
    --  the FTP control connection to be open.  It takes no arguments and does not require the session
    --  to be authenticated.

    DECLARE @ftp int
    EXEC @hr = sp_OACreate 'Chilkat.Ftp2', @ftp OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    EXEC sp_OASetProperty @ftp, 'Hostname', 'ftp.example.com'
    EXEC sp_OASetProperty @ftp, 'Username', 'myFtpLogin'

    --  Normally you would not hard-code the password in source.  You should instead obtain it
    --  from an interactive prompt, environment variable, or a secrets vault.
    EXEC sp_OASetProperty @ftp, 'Password', 'myPassword'

    --  Connect and log in (Connect performs both).
    EXEC sp_OAMethod @ftp, 'Connect', @success OUT
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @ftp, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @ftp
        RETURN
      END

    --  Check whether the control connection is still open.
    EXEC sp_OAMethod @ftp, 'CheckConnection', @iTmp0 OUT
    IF @iTmp0
      BEGIN

        PRINT 'The control connection is open.'
      END
    ELSE
      BEGIN

        PRINT 'The control connection is not open.'
      END

    EXEC sp_OAMethod @ftp, 'Disconnect', @success OUT
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @ftp, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @ftp
        RETURN
      END

    EXEC @hr = sp_OADestroy @ftp


END
GO