SQL Server
SQL Server
Send a Raw FTP Command (Quote)
See more FTP Examples
Demonstrates the Chilkat Ftp2.Quote method, which sends a raw FTP command and returns a success/failure result rather than the reply text. The only argument is the command, which must not contain CR or LF. The full reply is available in the LastReply property.
Background:
Quote and SendCommand do the same thing — send an arbitrary control-connection command — and differ only in what they return: Quote gives a boolean keyed on the reply code and leaves the text in LastReply, while SendCommand returns the reply string directly. Choose Quote when you mainly care whether the command succeeded.Chilkat SQL Server Downloads
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
-- Demonstrates the Ftp2.Quote method, which sends a raw FTP command to the server. The only
-- argument is the command text. Unlike SendCommand, it returns a success/failure bool rather
-- than the reply text.
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
-- The command must not contain CR or LF characters. Here we send a NOOP as an example.
EXEC sp_OAMethod @ftp, 'Quote', @success OUT, 'NOOP'
IF @success = 0
BEGIN
EXEC sp_OAGetProperty @ftp, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @ftp
RETURN
END
-- The full server reply to the last command is available in the LastReply property.
EXEC sp_OAGetProperty @ftp, 'LastReply', @sTmp0 OUT
PRINT @sTmp0
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