SMB-File ausführen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hallo,

ich möchte gern einen SMB-File ausführen ohne das ich diesen erst lokal speichern muss!
Die Gründe warum ich dies nicht lokal speichern will sind einmal die Performance (laden, schreiben, laden) das ich nach dem der Anwender die Datei evtl. verändert hat, die Original-Datei entsprechend akt. werden muss!

Lokale Dateien rufe ich in Java unter Windows mit "rundll32.exe url.dll,FileProtocolHandler Dateipfad" auf!

Leider habe ich keine Lösung wie ich dies mit SMB-Files anstelle!

Hoffe ihr habt einen Lösungsvorschlag, einen Hinweis oder auch evtl. eine andere Idee, wie ich von verschiedenen Systemen aus auf Netzwerkfreigaben mit Benutzername und Passwort in Java drauf zugreifen kann!

Gruß
Max
 
M

maki

Gast
SMB File?

Was soll das sein?

Ich kenne SMB nur als "Server Message Block", ein M$ Protokoll...
 

max40

Bekanntes Mitglied
Ich benutze jCIFS um damit per SMB auf Dateien zuzugreifen!
Habe aber keine Lösung wie ich unter Windows die Datei ausführen kann!
 
M

maki

Gast
Wenn Windows eine Datei welches über SMB erreichbar ist ausführen soll, dann braucht Windows auch die Authentifizierung/Authorisierung für den SMB Share, nicht nur dein Java Programm ;)

Ansonsten musst du die Datei wohl erst lokal kopieren.
 

HoaX

Top Contributor
Um Dateien "ausführen" zu können müssen die Daten ja auf dem entsprechenden Rechner vorhanden sein. Du wirst ums Zwischenspeichern nicht herum kommen. Allerhöchstens indem du ein virtuelles Dateisystem erstellst ... wieso nimmst du nicht die vom Betriebssystem mitgelieferte SMB-Unterstützung?
 

Ebenius

Top Contributor
max40, Du hast doch oben ein Beispiel, wie Du die lokalen Dateien öffnest. Eigentlich muss doch bei "Dateipfad" nur der richtige UNC-Pfad stehen. Oder nicht? Was passiert, wenn Du's probierst?

Um Dateien "ausführen" zu können müssen die Daten ja auf dem entsprechenden Rechner vorhanden sein. Du wirst ums Zwischenspeichern nicht herum kommen.
Wieso denn das? "\\AnotherWindowsHost\C$\MyProgram.exe" kann man ausführen, ohne es kopieren zu müssen. Wir haben früher sogar manchmal die Java-VM von einem Shared Folder gestartet.

Ebenius
 
Zuletzt bearbeitet:

max40

Bekanntes Mitglied
Server, Benutzer und Passwort sind bekannt! Ich kann die Datei auch per Java Programm runterladen und lokal aufrufen, was ich aber nicht will weil ich mich auch dann um das zurückspeichern kümmern müsste! Also wäre es schön wenn ich eine Lösung hätte wie ich das lokal kopieren etc. umgehen kann um z.B. die Word-Datei in Word zu öffnen!
 
M

maki

Gast
Probier doch mal folgenden Pfad:

Code:
smb://username:password@server/path/to/file
So sollte Windows die Berechtigung bekommen.
 

max40

Bekanntes Mitglied
also z.B.
Code:
rundll32.exe url.dll,FileProtocolHandler \\server\path\to\file
geht, die Datei wird sofort aufgerufen. Grund: Meine Anmeldung ist dort hinterlegt da ich mich heute schon auf dem Server angemeldet habe!

Code:
rundll32.exe url.dll,FileProtocolHandler smb://benutzer:passwort@server/path/to/file
geht nicht! Es kommt auch keine Fehlermeldung! Und ich bin mir sicher das ich Benutzername und Passwort richtig eingeben habe!

Die beiden Befehle habe ich in der Eingabeaufforderung von Windows XP ausgeführt!
 
Zuletzt bearbeitet:

HoaX

Top Contributor
max40, Du hast doch oben ein Beispiel, wie Du die lokalen Dateien öffnest. Eigentlich muss doch bei "Dateipfad" nur der richtige UNC-Pfad stehen. Oder nicht? Was passiert, wenn Du's probierst?


Wieso denn das? "\\AnotherWindowsHost\C$\MyProgram.exe" kann man ausführen, ohne es kopieren zu müssen. Wir haben früher sogar manchmal die Java-VM von einem Shared Folder gestartet.

Ebenius

Da er jCifs verwendet und solche UNC-Pfade nur unter Windows gehn. Und im nächsten Satz schreib ich ja er kann es mit den Mittels des OS probieren.
 

Ebenius

Top Contributor
Das obere Deiner Beispiele in diesem Beitrag sollte Benutzername / Passwort abfragen, wenn noch kein Ticket vorhanden ist. Probier's doch mal aus. Wie war das noch im Windows? Ausloggen, neu einloggen reicht? Oder muss man dazu neu starten? ;)

[off topic] On Linux be root, in Windows reboot! :)

Ebenius
 

max40

Bekanntes Mitglied
Das obere Deiner Beispiele in diesem Beitrag sollte Benutzername / Passwort abfragen, wenn noch kein Ticket vorhanden ist. Probier's doch mal aus. Wie war das noch im Windows? Ausloggen, neu einloggen reicht? Oder muss man dazu neu starten? ;)

[off topic] On Linux be root, in Windows reboot! :)

Ebenius

Also mit dem rundll .... kommt keine Eingabeaufforderung für Passwort und Benutzer!
Habe es jetzt mal mit
Code:
start "\\server\freigabe\file\to\dir"
probiert!
Damit kommt auch eine Eingabeaufforderung für Benutzer und Passwort! Muss jetzt nur nochmal gucken wie ich das "start ..." aus Java heraus aufrufen kann!

Dann erstmal DANKE für die Antworten :)
 

max40

Bekanntes Mitglied
Aus Java heraus mit
Code:
cmd /c start " " "\\Server\freigabe\dir\to\file"
funktioniert es! Die ersten " " sind für den Titel der gesetzt werden muss, da ich den Pfad der evtl. Leerzeichen enthalten kann auch in " " setzen muss. Sonst wird der Pfad als Titel verwendet!

Gruß und schönes Wochenende :)
Max
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D CSV File Upload Netzwerkprogrammierung 5
D Socket Gute Idee?: File als byte[] per ObjectIOStream übertragen Netzwerkprogrammierung 3
S Webserver für Jar File Netzwerkprogrammierung 4
H Applet soll XML-File auf Server speichern Netzwerkprogrammierung 6
R Apache HttpClient File Download? Netzwerkprogrammierung 3
0 Apache Commons File Object bekommen Netzwerkprogrammierung 4
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
M HTTP File Upload mit Prozessbar Funktioniert nicht. Netzwerkprogrammierung 8
5 File Upload/ ClassNotFoundException Netzwerkprogrammierung 9
S RSS-Feed aus ini File Netzwerkprogrammierung 4
Z File über Socket lesen Netzwerkprogrammierung 3
N Socket File über Socket vom Server an Client versenden Netzwerkprogrammierung 15
F Protokoll file:/// Netzwerkprogrammierung 2
B JNLP File -> Web Application Netzwerkprogrammierung 10
R HTTP HttpURLConnection Large File Upload Netzwerkprogrammierung 1
DStrohma RMI Security Manager & Policy-File Netzwerkprogrammierung 8
DeviAn Über ein Linux Server ein Windows Server nach einer File fragen Netzwerkprogrammierung 6
P java file.exists() zuzerstörbar Netzwerkprogrammierung 7
E java.net.SocketException: Unexpected end of file from server Netzwerkprogrammierung 2
J Problem beim Senden von File Netzwerkprogrammierung 4
J Mit der File Api Dateien von anderen Rechnern lesen ? Netzwerkprogrammierung 3
I unc pfad für die klasse file? Netzwerkprogrammierung 4
V file transfer problem Netzwerkprogrammierung 2
E upload progress bei einem http file post Netzwerkprogrammierung 5
L file upload / download über http Netzwerkprogrammierung 5
P File von http-Server kopieren Netzwerkprogrammierung 5
N File Transfer Netzwerkprogrammierung 5
D wie kann ich rmic ein .jar file übergeben? Netzwerkprogrammierung 3
R File chooser übers Netzwerk Netzwerkprogrammierung 3
J File upload mit ftp Netzwerkprogrammierung 4
G file download über https mit p12 Zertifikat Netzwerkprogrammierung 4
D Performance Problem beim File senden, empfangen Netzwerkprogrammierung 4
T file auf einen server laden Netzwerkprogrammierung 4
M Erstelltes Programm über Internet Browser ausführen Netzwerkprogrammierung 26
M HTTP PATCH Request mit Java ausführen Netzwerkprogrammierung 2
G Programm unter anderer IP ausführen Netzwerkprogrammierung 6
P PHP Script per Java ausführen Netzwerkprogrammierung 2
O HTTP Zugriff und Aktionen auf einer Webseite ausführen Netzwerkprogrammierung 9
P RMI RMI in Eclipse RCP ausführen Netzwerkprogrammierung 11
K Wie mache ich es: Klasse auf Server, Funktionen per Client ausführen? Netzwerkprogrammierung 7
D Javascript Funktion aus Java Anwendung ausführen Netzwerkprogrammierung 5
T Datei Herunterladen und ausführen Netzwerkprogrammierung 5
L ftp-Befehl ausführen via FtpClient Netzwerkprogrammierung 7
L RMI-Programm ausführen Netzwerkprogrammierung 6
M Datei auf einem Server ausführen Netzwerkprogrammierung 4
S URL ausführen/aufrufen Problem Netzwerkprogrammierung 4

Ähnliche Java Themen


Oben