我正在尝试编写一个程序来还原许多数据库,使用LINQ查询它们,然后将接收到的数据写入我的数据库。
我遇到的第一个问题是我无法以编程方式还原任何数据库。 该错误说明如下:
“文件'xxx'无法还原到'C:\ Program Files \ Microsoft SQL Server \ MSSQL11.SQLEXPRESS \ MSSQL \ DATA \ xxx.mdf'。使用WITH MOVE标识文件的有效位置。”
我已经检查过了,确实是个问题。我没有此文件夹(\ MSSQL11.SQLEXPRESS)。如何解决呢?
我的还原代码:
private void RestoreDB(string destPath, string dbName, string fileName)
{
var myServer = new Server(@"LOCALHOST");
var res = new Restore();
res.Database = dbName;
res.Action = RestoreActionType.Database;
res.Devices.AddDevice(destPath, DeviceType.File);
res.PercentCompleteNotification = 10;
res.ReplaceDatabase = true;
try
{
res.SqlRestore(myServer);
}
catch (Exception e)
{
Console.WriteLine($"{dbName} couldn't be restored");
return;
}
}
问题是,我最近已经从一台PC迁移到另一台PC。它以前曾奏效,但我记得以前我在使用SQL时也遇到了一些问题。我已经读过一些关于此错误的信息,但我需要逐步说明如何处理该错误。