Das Gerät ist nicht bereit beim kopieren einer Datei von einem server auf einen anderen
Was mache ich hier falsch?
Ich habe die Variablen und Sie sind, was Sie sein sollen, so dass keine Probleme gibt.
Bin ich hier etwas fehlt? Warum bin ich immer "Gerät ist nicht bereit" Ausnahme?
Code -
if (ddlPublisherServer.Text != ddlSubscriberServer.Text)
{
try
{
if (File.Exists("\\\\" + ddlSubscriberServer.Text + "\\SQLServerBackups\\" + txtSubscriberDatabaseName.Text + ".bak"))
{
File.Delete("\\\\" + ddlSubscriberServer.Text + "\\SQLServerBackups\\" + txtSubscriberDatabaseName.Text + ".bak");
}
File.Copy(@"D:\SQLServerBackups\" + txtSubscriberDatabaseName.Text, "\\\\" + ddlSubscriberServer.Text + "\\SQLServerBackups\\" + txtSubscriberDatabaseName.Text + ".bak");
}
catch (Exception ex)
{
ClientScript.RegisterStartupScript(GetType(), "Error!", "alert('" + ex.Message + "');", true);
Logger.LogError(ex.Source, ex.TargetSite.ToString(), ex.Message);
return;
}
}
Ich bin das hochladen ein besseres pic, nur eine Sekunde.
Wie zum hochladen von ein paar code statt?
Können Sie navigieren Sie zu Datei-Pfad im windows-explorer?
Ich kann navigieren Sie zu der Datei-Pfad, ja.
Können Sie navigieren zu dem Pfad, als anonymer Benutzer (dein code läuft auf dem server und als Ergebnis können Sie nicht verwenden Sie die Berechtigungen, die außerhalb der lokalen box - suchen Sie "ntlm-one-hop-Hölle")? Sie Frage sollte wohl sein, "wie es richtig ist, den Zugriff auf remote-Ressourcen aus ASP.Net code"... Seite Hinweis: konstruieren Dateinamen 3 mal macht Ihr die Probe schwerer zu Lesen...
Wie zum hochladen von ein paar code statt?
Können Sie navigieren Sie zu Datei-Pfad im windows-explorer?
Ich kann navigieren Sie zu der Datei-Pfad, ja.
Können Sie navigieren zu dem Pfad, als anonymer Benutzer (dein code läuft auf dem server und als Ergebnis können Sie nicht verwenden Sie die Berechtigungen, die außerhalb der lokalen box - suchen Sie "ntlm-one-hop-Hölle")? Sie Frage sollte wohl sein, "wie es richtig ist, den Zugriff auf remote-Ressourcen aus ASP.Net code"... Seite Hinweis: konstruieren Dateinamen 3 mal macht Ihr die Probe schwerer zu Lesen...
InformationsquelleAutor Rj. | 2012-10-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass man Zugriff auf abgekoppelten Netzwerk-Speicherort. Beim Zugriff auf Netzwerk-Speicherort, die Sie benötigen, um eine Karte zu (in einigen Fällen ist es passiert automatisch, wenn Sie die Berechtigungen haben. aber wenn Sie nicht über die Berechtigungen, die Sie haben, um es selbst zu tun). Haben Sie einige Optionen:
Process.Start("c:\\windows\\system32\\net.exe", "use \\\\servername\\location /user:domain\\username password");
sind Sie auf Arbeitsgruppe oder Domäne? wenn Sie in der Domäne (active directory Umgebung) und diese Anwendung bereitgestellt wird nur für Benutzer in der Domäne ist, stellen Sie sicher, dass alle Benutzer mit Berechtigungen für den Speicherort im Netzwerk. Wenn es Arbeitsgruppen, oder Sie nicht sicher wissen, dann müssen Sie Benutzername und Passwort als parameter. In diesem Fall können Sie in diesem Artikel: michiel.vanotegem.nl/2006/07/07/...
versucht Prozess.starten Sie jetzt shahar. thx!!!
Shahar. dies hat nicht funktioniert. dies ist, was ich verwendet: - Prozess.Start("c:\\windows\\system32\\net.exe", "\ \ \ \ " + ddlSubscriberServer.Text + "\\SQLServerBackups\\ /user:mycompanydomain\\Benutzername "Passwort");
Sie hatte jede Ausnahme? haben Sie versucht, zu kopieren, was tatsächlich läuft cmd.exe führen Sie es, und sehen, ob es funktioniert?
InformationsquelleAutor Shahar Gvirtz