Ich habe eine WPF 4.5 .NET-Anwendung mit einer Datenbank-Backup-Funktion erstellt. Die Funktionen und die Sicherung funktionieren einwandfrei beim Debuggen, aber wenn ich sie in ClickOnce veröffentliche und auf dem Zielcomputer installiere, funktioniert alles, außer die Sicherung funktioniert nicht, da ClickOnce den Standort des Anwendungsordners verschleiert, so dass die Backup-Anweisung zu lang wird! Gibt es eine Möglichkeit, die Backup-Anweisung kürzer zu machen? hier ist mein Code und die Fehler, die ich erhalten: Code:Backup lokale Datenbank in ClickOnce
SaveFileDialog sfd = new SaveFileDialog();
string stringCon = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\whdb.mdf;Integrated Security=True";
string dbPath = Application.StartupPath + @"\whdb.mdf";
if (sfd.ShowDialog() == DialogResult.OK)
{
using (SqlConnection conn = new SqlConnection(stringCon))
{
string backupStmt = string.Format(@"backup database @whdb to disk='{0}' WITH INIT ", sfd.FileName);
using (SqlCommand sqlComm = new SqlCommand(backupStmt, conn))
{
sqlComm.Parameters.AddWithValue("@whdb", dbPath);
conn.Open();
sqlComm.ExecuteNonQuery();
conn.Close();
}
}
)
************** Ausnahmetext **************
System.Data.SqlClient.SqlException (0x80131904): Invalid database name 'C:\Users\Abubaker\AppData\Local\Apps\2.0\52WR4JTO.12O\D6M4D7OQ.Z3D\sa3a..tion_fef19ab42c2b8f22_0001.0000_9fc10c82bbf23ed2\whdb.mdf' specified for backup or restore operation.
BACKUP DATABASE is terminating abnormally.
funktioniert nicht! das Problem immer noch da ich Application.StartupPath in der Backup-Anweisung verwenden muss! die Verbindungszeichenfolge ist in Ordnung – user7586828
Ich kenne den Prozess, der localDB an Projekt und Veröffentlichung anfügt. Vielleicht ist es notwendig, | Data Directory | zu verstehen. Viel Glück ! –