2017-01-06 93 views
0

我有ASP.net項目與其中的localDB。 數據庫文件名是ProjectDB.sdf,我將它放在App_Data文件夾中。將LocalDB連接到ASP.net項目

我的連接字符串是:

<add name="ProjectConnection" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\ProjectDB.sdf;Integrated Security=True" providerName="System.Data.SqlClient"/> 

我嘗試使用該數據庫在我的CS文件是這樣的:

conn.ConnectionString = ConfigurationManager.ConnectionStrings["ProjectConnection"].ConnectionString; 
using(SqlCommand cmd = new SqlCommand()) 
{ 
    cmd.CommandText = "select JobTitleId, JobTitleText from LuJobTitle where JobTitleText like @SearchText + '%'"; 
    cmd.Parameters.AddWithValue("@SearchText", prefix); 
    cmd.Connection = conn; 
    conn.Open(); 

應用落在conn.Open();命令。

該錯誤消息我得到說:

An attempt to attach an auto-named database for file d:\user\documents\visual studio 2012\Projects\RealMatchSite\RealMatchSite\App_Data\ProjectDB.sdf failed. 
A database with the same name exists, or specified file cannot be opened, or it is located on UNC share. 

我在做什麼錯?

預先感謝您!

+0

檢查這個線程:嘗試附加自動命名的數據庫(HTTP:/ /stackoverflow.com/questions/12566036/an-attempt-to-attach-an-auto-named-database-for-file-database1-mdf-failed) –

+0

使用SQL Server Express代替 – ErikEJ

回答

0

您的數據庫服務器已經有數據庫附有該名稱,所以你得到的錯誤。如果不是這種情況,請嘗試將其添加到連接字符串中:

User Instance=True 
+0

當我添加「User Instance = True 「我得到了這個:」連接到SQL Server的用戶實例時不允許用戶實例登錄標誌,連接將被關閉。「我的數據庫服務器是本地主機。如何從中刪除所有數據庫並保留唯一我需要的數據庫? –

+0

你有sql mgmt工作室嗎?登錄並刪除它。 – CodingYoshi

0

嘗試使用初始目錄調用數據庫。 我希望這可以幫助。

的connectionString = 「數據源=(的LocalDB)\ 11.0;初始目錄= ProjectDB;集成安全性=真」

+0

我試了一下,得到了這個錯誤提示:「無法打開數據庫」ProjectDB「登錄失敗登錄失敗 用戶'User-PC \ User'登錄失敗。 –

+0

您的服務器密碼是否受到保護?如果是這樣,請包含ConnString =「數據源=(LocalDB)\ v11.0;初始目錄= ProjectDB;持久安全信息= True;用戶ID =用戶;密碼=密碼」; – jmag

+0

它目前正在使用您的機器憑證來訪問您的數據庫。好消息是它找到了數據庫並試圖訪問它。 – jmag