Sample code for 30+ languages & platforms
SQL Server

Sleep for a Number of Milliseconds (FTP Utility)

See more FTP Examples

Demonstrates the Chilkat Ftp2.SleepMs method, which blocks the calling thread for a number of milliseconds. The only argument is the millisecond count. It performs no FTP network operation.

Background: This is a plain convenience wrapper around a thread sleep, provided so scripts and generated examples can pause without pulling in a language-specific timing API. Typical uses are inserting a short delay between polling attempts, or giving a finicky server a moment between operations. It does nothing FTP-specific.

Chilkat SQL Server Downloads

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

    --  Demonstrates the Ftp2.SleepMs method, which blocks the calling thread for a number of
    --  milliseconds.  The only argument is the number of milliseconds.  It performs no FTP network
    --  operation.

    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'

    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

    --  A small pause can be useful when polling or when a server needs a moment between operations.
    DECLARE @millisec int
    SELECT @millisec = 500
    EXEC sp_OAMethod @ftp, 'SleepMs', NULL, @millisec

    PRINT 'Waited half a second.'

    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