在我的家用电脑上,我正在处理一个 ASP.NET 网站项目。附带一个 SQL Server 2012 数据库。
我正在尝试将这个项目转移到我的笔记本电脑上。我已成功恢复笔记本电脑上的数据库并修复了 ASP.NET 网站项目(web.config 文件)上的一些连接错误。
在我的数据库中,我已经集成了 aspnetdb 来处理我的用户/角色/成员以及我拥有的其他表。不幸的是,在将整个数据库转移到我的笔记本电脑后,它似乎删除了我的角色,但没有删除我的用户。因此,当用户尝试登录我的 asp.net 网站时会出现问题。
我已经加载了 asp.net 网站管理工具,正如我所料,它说有 3 个用户和 0 个角色。我只是要重新创建角色,因为我的数据库没有那么大。奇怪的是,转移只删除了角色而不是用户。但是,在单击“创建或管理角色”时出现错误。只是想提一下在尝试使用此工具创建新用户时会发生同样的事情。
错误:
遇到错误。请返回上一页并重试。
以下消息可能有助于诊断问题:建立与 SQL Server 的连接时发生网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)在 ASP.security_roles_manageallroles_aspx 的 System.Web.Administration.WebAdminPage.CallWebAdminHelperMethod(Boolean isMembership, String methodName, Object[] parameters, Type[] paramTypes)。 BindGrid() 在 ASP.security_roles_manageallroles_aspx.Page_Load() 在 System.Web.Util.CalliHelper.ArglessFunctionCaller(IntPtr fp, Object o) 在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) 在 System.Web。 UI.控件。
我认为问题在于我将 asp.net 网站项目文件夹转移到我的笔记本电脑上,而 asp.net 网站管理工具无法识别 sql server 实例,因此我需要以某种方式更新它以匹配新的 sql server 实例。
我该如何解决我的问题?
更新:
我刚刚检查了我的家用计算机数据库,有趣的是,aspnet_roles 表中没有存储任何数据。但是有用户存储在 aspnet_users 表中。现在为什么不将角色存储在该表中?:/
我有点困惑,如果它没有将角色存储在该表中......它将在哪里存储它们?
更新 2
我刚刚注意到这些角色被存储在 app_data 文件夹中到 ASPNETDB 中,而不是我在我的 sql 服务器上连接的数据库中。我不知道这是如何发生的,因为它用于添加到我的 sql 服务器。有没有办法可以将我的 aspnetdb 表和数据传输到我的 sql 数据库中?
我刚刚通过创建一个新用户进行了测试。新用户存储在我的 sql 数据库中。但它没有存储在 aspnetdb 中,但角色存储在 aspnetdb 中,而不是我的 sql 数据库中的表。
问题:我怎样才能将这些结合起来,只让它更新我的 sql 数据库中的数据?
更新 3
我解决了角色和用户存储在 2 个差异提供程序中的问题,我只需将它们指向一个提供程序。