Post a reply

Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)


Topic review


Yes the Session.Open throws an exception on error. Use the Catch clause to capture it in VB.NET.


Thank you for the confirmation that it's not possible to get a connection error when setting the password.

Unfortunately our program log didn't capture the exception trace.

I think, maybe, the error was on scpsession.Open scpsessionOptions. I think it's possible to get a connection error from this operation? I think the correct way to capture this is with try/catch coding? I don't think the returns an error code in the same way as something like putfiles does?



Re: Connection Error

You indeed cannot get an exception when setting the .Password. Show us the exception callstack.

Connection Error


I'm using the following code and most of the time it works really well:

Set scpsession = New WinSCPnet.session
Set scpsessionOptions = New WinSCPnet.sessionOptions
Set scptransferOptions = New WinSCPnet.transferOptions

Log "After session create"

With scpsessionOptions
Select Case UCase(strDetailList(0))
Case "FTP"
.Protocol = Protocol_Ftp
'Log "FTP protocol selected"
Case "SFTP"
.Protocol = Protocol_Sftp
'Log "SFTP protocol selected"
End Select
.HostName = strDetailList(1)
Log "Hostname set"
.UserName = strDetailList(2)
Log "Username set"
.Password = strDetailList(3)

'Log "Password set"
'.SessionLogPath = "c:\"
'Log "Log path set"
.PortNumber = strDetailList(4)
Log "Port set"
End With

' Connect
scpsession.Open scpsessionOptions

Sometimes I get a connection error on the .password = strdetaillist(4) line. I don't understand why I would get a connection error because I don't think the connection is started until the line scpsession.Open scpsessionOptions?