从另一台机器导入 MDF
importing an MDF from another machine
我买了一台新电脑,并将我正在处理的 windows 应用程序项目复制到了我的新机器上。我也复制了相关的 MDF 文件。我将 MDF 拖到我的解决方案中,我可以在服务器资源管理器、数据源和 SQL 服务器对象资源管理器中看到它。
一旦我的代码尝试访问数据库,我就会收到以下异常:
Cannot open database \"MyApp.Classes.NorthwindContext\" requested by the login. The login failed.\r\nLogin failed for user '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 服务器对象资源管理器中 Security
文件夹的 Logins
文件夹中,它是。
我需要做什么才能让我的代码读取这个数据库?
我的猜测是因为您已将数据库从一台服务器移动到另一台服务器,即使数据库中有用户 Julien
并且服务器也有登录名 Julien
但用户 Julien
已成为孤儿。
您需要将此用户映射到此新 machine/server 上的登录名。你可以做类似
USE [DB_Name]
GO
ALTER USER JULIEN WITH LOGIN = JULIEN --<-- this should be a valid login
GO
这会将这个孤立的用户映射到这个新服务器上的登录名。
首先,您应该尝试在连接字符串中启用集成安全性。这将使用您的 windows 凭据登录到 SQL 数据库。
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=B:\MyApp\MyApp.Classes.NorthwindContext.mdf;Integrated Security=True;"
问题是我需要使用
Data Source=.\SQLEXPRESS
就这么简单
我买了一台新电脑,并将我正在处理的 windows 应用程序项目复制到了我的新机器上。我也复制了相关的 MDF 文件。我将 MDF 拖到我的解决方案中,我可以在服务器资源管理器、数据源和 SQL 服务器对象资源管理器中看到它。
一旦我的代码尝试访问数据库,我就会收到以下异常:
Cannot open database \"MyApp.Classes.NorthwindContext\" requested by the login. The login failed.\r\nLogin failed for user '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 服务器对象资源管理器中 Security
文件夹的 Logins
文件夹中,它是。
我需要做什么才能让我的代码读取这个数据库?
我的猜测是因为您已将数据库从一台服务器移动到另一台服务器,即使数据库中有用户 Julien
并且服务器也有登录名 Julien
但用户 Julien
已成为孤儿。
您需要将此用户映射到此新 machine/server 上的登录名。你可以做类似
USE [DB_Name]
GO
ALTER USER JULIEN WITH LOGIN = JULIEN --<-- this should be a valid login
GO
这会将这个孤立的用户映射到这个新服务器上的登录名。
首先,您应该尝试在连接字符串中启用集成安全性。这将使用您的 windows 凭据登录到 SQL 数据库。
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=B:\MyApp\MyApp.Classes.NorthwindContext.mdf;Integrated Security=True;"
问题是我需要使用
Data Source=.\SQLEXPRESS
就这么简单