从另一台计算机导入MDF

时间:2015-01-10 01:04:45

标签: c# sql-server entity-framework localdb

我有一台新PC并将我正在处理的Windows应用程序项目复制到我的新机器上。我还复制了相关的MDF文件。我将MDF拖到我的解决方案中,我可以在服务器资源管理器,数据源和SQL Server对象资源管理器中看到它。

我的代码一旦尝试访问数据库,就会出现以下异常:

  

无法打开数据库\" MyApp.Classes.NorthwindContext \"登录请求。登录失败。\ r \ n登录失败的用户' NEW-PC \ Julien'。

连接字符串:

connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=B:\MyApp\MyApp.Classes.NorthwindContext.mdf;Integrated Security=False"

我试图将我的用户名和密码放入连接字符串中,没有效果,如下所示:

connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=B:\MyApp\MyApp.Classes.NorthwindContext.mdf;Integrated Security=False;User ID=NEW-PC\Julien;pwd=mypwd"

有些谷歌搜索说我的登录需要在SQL Server对象资源管理器中Logins文件夹的Security文件夹中。

我需要做什么才能让我的代码读取这个数据库?

3 个答案:

答案 0 :(得分:2)

首先,您应该尝试在连接字符串中启用集成安全性。这将使用您的Windows凭据登录到SQL数据库。

  

connectionString =" Data Source =(LocalDB)\ v11.0; AttachDbFilename = B:\ MyApp \ MyApp.Classes.NorthwindContext.mdf; Integrated Security = True;"

答案 1 :(得分:1)

我猜是因为您已将数据库从一台服务器移动到另一台服务器,即使数据库中有用户Julien且服务器也有登录Julien但用户Julien已经成为孤儿。

您需要将此用户映射到此新计算机/服务器上的登录名。你可以做点什么

USE [DB_Name]
GO
ALTER USER JULIEN WITH LOGIN = JULIEN   --<-- this should be a valid login
GO

这会将此孤立用户映射到此新服务器上的登录名。

答案 2 :(得分:0)

问题是我需要使用

Data Source=.\SQLEXPRESS

简单就是那个