SQL Server
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
--
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