Solved

FTP Script

Posted on 2008-10-29
4
830 Views
Last Modified: 2013-11-18
I'm putting this VB code into a DTS package in MS SQL Server 2000.  I pieced it together from other thing I found on the net, but I don't know VB code and am getting an error:

Object Required FTP.

Also other than the fix for that does the rest of the code look ok for doing a transfer from a local file to a ftp server?
ftp.Hostname = "ftp.test.com"
	ftp.Username = "User"
	ftp.Password = "Pass"
 
	' The default data transfer mode is "Active" as opposed to "Passive".
	' Change it to Passive by setting the Passive property:
	ftp.Passive = 1
 
	'  Establish an AUTH SSL secure channel after connection
	'  on the standard FTP port 21.
	ftp.AuthTls = 1
 
	'  The Ssl property is for establishing an implicit SSL connection
	'  on port 990.  Do not set it.
	ftp.Ssl = 0
	'  Connect and login to the FTP server.
	connectStatus = ftp.Connect()
	If (connectStatus <> 1) Then
		'MsgBox ftp.LastErrorText
		'WScript.Quit
		Main = DTSTaskExecResult_Failure
	Else
		dirStatus = ftp.ChangeRemoteDir("RMed")
		If (dirStatus <> 1) Then
		    'MsgBox ftp.LastErrorText
		    'WScript.Quit
		Main = DTSTaskExecResult_Failure
	End If		
	
	
	
	'MsgBox ftp.getCurrentRemoteDir()
		
	'specify the file path and name on the local machine
	localInvoiceFile = "C:\Documents and Settings\Nathan\My Documents\2\dRMed\Invoice_RMed.txt"
	localPatientFile = "C:\Documents and Settings\Nathan\My Documents\2\dRMed\Patient_RMed.txt"
		
	'specify the file path and name on the remote machine
	remoteInvoiceFile = "C:\Clients\Strat\File Uploads\Customer Uploads\RMed\Invoice_RMed.txt"
	remotePatientFile = "C:\Clients\Strat\File Uploads\Customer Uploads\RMed\Patient_RMed.txt"
	'MsgBox remoteInvoiceFile 
	'MsgBox remotePatientFile
		
		'download the files from the remote server
		transferStatus = ftp.getFile(remoteInvoiceFile, localInvoiceFile)
		if (transferStatus <> 1) then
			'MsgBox ftp.LastErrorText
			Main = DTSTaskExecResult_Failure
		else
			Main = DTSTaskExecResult_Success
		end if
		
		transferStatus = ftp.GetFile(remotePatientFile, localPatientFile)
		if (transferStatus <> 1) then
			'MsgBox ftp.LastErrorText
			Main = DTSTaskExecResult_Failure
		else
			Main = DTSTaskExecResult_Success
		end if
	
	END IF
	ftp.Disconnect 	
 
End Function

Open in new window

0
Comment
Question by:N R
  • 3
4 Comments
 
LVL 2

Expert Comment

by:Dudge669
ID: 22833354
You need to download an FTP object activex to be able to use it.  As far as your syntax goes, it depends on which object the syntax was coded for.  Check out this link:

http://www.robvanderwoude.com/vbstech_internet_ftp.html
0
 
LVL 2

Expert Comment

by:Dudge669
ID: 22833411
Here's another link showing how you create the Chilkat ftp object and use it...

http://www.example-code.com/vbscript/ftp_asyncDownload.asp
0
 
LVL 11

Author Comment

by:N R
ID: 22833489
ok I see this in the code I took it from:

set ftp = CreateObject("Chilkat.Ftp2")

That's off my production server, so I assume that the FTP object is loaded on it.  However I'm going to be running this on my dev server so I guess I need to get it for it as well?
0
 
LVL 2

Accepted Solution

by:
Dudge669 earned 500 total points
ID: 22833511
Yes, you will need to install the chillkat object on whatever machine your script runs on.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This script will sweep a range of IP addresses (class c only, 255.255.255.0) and report to a log the version of office installed. What it does: 1.)      Creates log file in the directory the script is run from (if it doesn't already exist) 2.)      Sweep…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
The purpose of this video is to demonstrate how to set up the WordPress backend so that each page automatically generates a Mailchimp signup form in the sidebar. This will be demonstrated using a Windows 8 PC. Tools Used are Photoshop, Awesome…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question