[英]Changing aspnetdb.mdf from ASP to SQL Server
我在App_Data
文件夾中使用默認的ASP.NET成員資格提供程序和aspnetdb.mdf
。 然后,我決定從App_Data
文件夾中刪除aspnetdb.mdf
,並通過aspnet_regsql.exe
在SQL Server中創建一個新文件,並相應地修改了連接字符串。
現在,在檢查用戶角色時,我得到一個異常錯誤,該錯誤指示它仍在舊路徑(而不是在SQL 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.Web.dll中發生類型'System.Data.SqlClient.SqlException'的異常,但未在用戶代碼中處理
附加信息:嘗試為文件C:\\ Users \\ muratcan \\ Documents \\ Visual Studio 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共享上。”}
AttachDBFilename=|DataDirectory|\\aspnetdb.mdf
表示您的LocalDB。
如果您連接到SQL Server而不是LocalDB,則ConnectionString應該是這樣的-
<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字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.