Hallo Juerg,
so ganz habe ich das noch nicht verstanden. Sicherlich ist das nur ein
Codeausschnitt, denn wo legst du "eoSSHTunnelFile" fest?
Klemens
Am 27.10.2009 um 20:20 schrieb Juerg Raess:
Hi,
hat einer schon mal plink erfolgreich in RB eingebunden? (plink = SSH
Support unter Windows)
Klemens
ja, habe ich ;-)
ich baue mit plink.exe einen SSH-tunnel zu einem server auf, um
"dort" auf eine MySQL-datenbank zuzugreifen.
mehr oder weniger klappts so:
1) plink.exe als Ressource ins RB-projekt eingebunden -> in ein
temporäres verzeichnis schreiben, dann dort starten
dim str As BinaryStream
str = eoSSHTunnelFile.CreateBinaryFile(fltBIN.MyShell)
str.Write plink
str.Close
2) oder die plink.exe mitliefern, und als FolderItem holen:
eoSSHTunnelFile = f.Parent.Child("plink.exe")
3) aufrufen - hier mit einem beispiel, einen SSH-tunnel zu öffnen:
if (eoSSHTunnelFile <> nil) and eoSSHTunnelFile.Exists then
eoSSHTunnel = New Shell
eoSSHTunnel.Mode = 1
eoSSHTunnel.Execute eoSSHTunnelFile.ShellPath + " -x -a -T -
pw " + DecodeString("XYZ") + " " + DecodeString("ABC") + " -L " +
MySQL_Port + ":localhost:3306"
'App.SleepCurrentThread(1500) 'Testen, ob's auch ohne geht...
if eoSSHTunnel.ErrorCode <> 0 then
msgbox "SSHTunnel - Error Code: " + str
(eoSSHTunnel.ErrorCode)
end if
else
msgbox "SSHTunnel - Error Code: " + str(eoSSHTunnel.ErrorCode)
end if
catch err As RuntimeException
eoSSHTunnelFile = nil
'if (eoSSHTunnelFile <> nil) and (eoSSHTunnelFile.Exists) then
eoSSHTunnelFile.Delete
End Try
ich habe es schon lange nicht mehr gebraucht - so kann ich wohl
nicht viele tipps geben...
erinnern tue ich mich noch an folgendes:
ich musste plink zuerst 1x von hand im cmd.exe starten.
denn beim ersten aufruf musste ich mit "y" bestätigen... das habe
ich wohl nicht in der RB-shell gemacht.
vielleicht gibt das ja doch eine idee, wie's funktionieren könnte.
wie gesagt - habe nur den ssh-tunnel gebraucht. sonst habe ich dann
keine kommandos via plink abgesetzt, oder die "resultate" der shell
gelesen und weiterverwendet...
jürg
Mit freundlichen Grüßen
Klemens Klarhoelter-Selbst
kNetSoft UG (haftungsbeschränkt)
[email protected]