我在ASP.NET文件夹中使用默认的App_Data成员资格提供程序和aspnetdb.mdf。然后,我决定从aspnetdb.mdf文件夹中删除App_Data,并通过aspnet_regsql.exe在Server中创建一个新的aspnet_regsql.exe,并相应地修改连接字符串。
现在,在检查用户的角色时,我得到了一个异常错误,表明它仍然在旧路径(而不是Server中)查找aspnetdb.mdf。
这是我的密码:
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
if (!Roles.RoleExists("Administrator"))
{
Roles.CreateRole("Administrator");
}
if (Membership.GetUser("Admin") == null)
{
Membership.CreateUser("Admin", "mrtcn.1907");
Roles.AddUserToRole("Admin", "Administrator");
}
}这是我得到的例外:
“System.Data.SqlClient.SqlException”类型的异常发生在System.Web.dll中,但未在用户代码中处理 附加信息:试图为文件C附加一个自动命名的数据库:\Users\muratcan\Documents\Visual 2013\Projects\MedicalBootStrap\MedicalBootStrap\App_Data\aspnetdb.mdf失败。存在同名的数据库,或者无法打开指定的文件,或者位于UNC共享上。
这是连接字符串;
<add name="ApplicationServices"
connectionString="data source=MRTCN-PC\SQLEXPRESS;User Id=medicalusr;Password=123456;AttachDBFilename=|DataDirectory|\aspnetdb.mdf"
providerName="System.Data.SqlClient" />很可能还有另外一个地方需要相应地修改,即在正确的路径上查找aspnetdb.mdf。
在Win的建议之后,我相应地更改了连接字符串。
这是修改后的连接字符串;
<add name="ApplicationServices"
connectionString="data source=MRTCN-PC\SQLEXPRESS;User Id=medicalusr;Password=123456;AttachDBFilename=aspnetdb.mdf"
providerName="System.Data.SqlClient" />这是新的例外;
{“为文件aspnetdb.mdf附加自动命名数据库的尝试失败。存在同名数据库,或无法打开指定文件,或位于UNC共享上。”}
发布于 2014-08-22 17:20:45
AttachDBFilename=|DataDirectory|\aspnetdb.mdf是指你的LocalDB。
如果连接到 Server而不是LocalDB,那么应该是这样的-
<connectionStrings>
<add name="ApplicationServices"
connectionString="Data Source=MRTCN-PC\SQLEXPRESS;Initial Catalog=DATABASE_NAME;Persist Security Info=True;User ID=medicalusr;Password=123456"
providerName="System.Data.SqlClient"/>
</connectionStrings>示例SqlConnection字符串。
https://stackoverflow.com/questions/25451540
复制相似问题