我在本地网络上共享的服务器上有一个数据库。我想编写一个从该服务器备份数据库的应用程序,但不是在服务器上,而是在我从中启动该应用程序的计算机上。也就是说,为了更好地理解:
该数据库位于某些Windows Server服务器上。我有一台连接到同一网络并可以访问数据库的笔记本电脑。在这台笔记本电脑上,我启动应用程序,连接到数据库,.bak文件保存到笔记本电脑上,而不是服务器上。 此刻我只写了太多东西,不幸的是它对我不起作用:
private static void CreateDatabaseBackup(string connectionString, string databaseName, string backupFilePath)
{
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand backupCommand = connection.CreateCommand();
backupCommand.CommandText = $"BACKUP DATABASE {databaseName} TO DISK = '{backupFilePath}'";
connection.Open();
backupCommand.ExecuteNonQuery();
connection.Close();
}
这引发了一个异常:
System.Data.SqlClient.SqlException: „Cannot open backup device 'C:\Backup\backup.bak'. Operating system error 3(The system cannot find the path specified.).
BACKUP DATABASE is terminating abnormally.”
可能是因为它试图将文件保存到服务器磁盘,并且它没有在变量backupFilePath
中指定的路径
我希望将.bak保存到启动应用程序的设备磁盘中。 如何解决这个问题?