http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=702726
通常,您用于运行 SQL Server 服务的用户将无权访问您的个人用户文件夹,这就是您收到错误的原因。您要么需要更改用于服务的凭据,要么将数据库移动到另一个文件夹,这在您的案例中起到了作用。
我今天被困在这个问题上,首先是 mvc3 和实体框架代码中的复合问题。
我的 SqlExpress 安装搞砸了(权限问题),所以我切换到 SqlCE。
我的 ConnectionString.Name 属性与我的"ProjectNameContext"类名不匹配。
当未找到连接字符串时,它使用默认约定。默认约定意味着我的 SqlExpress 服务具有像"ProjectNameContext"这样的数据库名称。权限搞砸了,所以当我以为我在使用 SqlSE
时,我在 SqlExpress 上遇到了权限错误
对我来说,在 web.config 文件的 system.web 标签下设置这个标签有很大帮助:
1 2 3
| system.web
identity impersonate="true" userName="admin_user" password="admin_password" /
... |
希望这可以帮助某人
我也遇到了同样的问题,最后我找到了解决方案-
解决方案——很简单将数据库从 App_Data 文件夹移动或剪切到任何位置(例如桌面),然后将数据库移动或剪切回 App_Data 文件夹。
就是这样…………
希望它成功!
对于像我这样的人,请将"User Instance=true"添加到您的连接字符串中
我的朋友通过使用另一个目录来修复它,即 C:\\\\TEMP。我认为这只是权限问题。
是的,以前的附件未正确取消附加,或者是手动附加的。进入 Management Studio 连接到数据库,并断开看起来像文件路径的长数据库名称。然后再试一次它应该可以工作。