2012-02-02 182 views
6

我試過了一切,但我無法訪問/更改/修改我的數據庫。我用.mdf在visual studio中創建了它。我是使用SQL數據庫的新手,所以如果你能幫助我,我會很高興。正如我所說,我在Visual Studio中創建了該數據庫,但我無法與該數據庫建立連接。無法連接到.mdf數據庫

在web配置:

<connectionStrings> 
    <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|Database.mdf;Integrated Security=True;" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

在CS中我使用了SQL連接字符串:

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDBFilename=|DataDirectory|Database.mdf;Integrated Security=True;"); 

而且我有這樣的錯誤:

試圖以附加自動命名文件C:\ Users \ mcan \ Documents \ Visual Studio 2010 \ WebSites \ WebSite1 \ App_Data \ Database.mdf的數據庫失敗。具有相同名稱的數據庫存在,或指定的文件無法打開,或位於UNC共享上。


我已經做了一些改動:

在web配置:

<connectionStrings> 
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=|DataDirectory|Database.mdf;Integrated Security=True;" 
    providerName="System.Data.SqlClient" /> 

和CS:

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=|DataDirectory|Database.mdf;Integrated Security=True;"); 

現在給出了錯誤:

*Server Error in '/WebSite1' Application. Cannot open database |DataDirectory|Database.mdf" requested by the login. The login failed. Login failed for user 'mcan-PC\mcan'. * 
+0

您是否閱讀過該消息? – SLaks 2012-02-02 16:06:40

+0

@SLaks - 你呢?消息中提到了3種可能性。你的答案假設一個。 – 2012-02-02 16:12:11

+0

@MartinSmith:這不是UNC份額,他說他已經創建了該文件。 – SLaks 2012-02-02 16:13:02

回答

2

由於錯誤清楚地表明,該數據庫已連接到SQL Server。
在同一臺服務器上不能有兩個同名的數據庫。

+0

我只是嘗試從一個地方訪問該數據庫,爲什麼還有另一個連接?我無法訪問和修改它,那麼我應該怎麼做? – 2012-02-02 16:08:22

+0

數據庫已存在於SQL Server中。您應該將其從SQL Server中刪除或通過名稱連接到它,而不是嘗試重新附加它。 – SLaks 2012-02-02 16:11:39

+0

你能解釋一下按名稱連接它的方法嗎? – 2012-02-02 16:15:33

1

問題可能是您的mdf文件沒有爲已驗證用戶設置權限。導航到您的.mdf文件,右鍵單擊並轉到屬性,然後選擇安全選項卡。檢查經過身份驗證的用戶是否出現在「組或用戶名」中。如果沒有,那麼你將不得不點擊編輯然後添加並鍵入身份驗證的用戶。然後,您將點擊檢查名稱並確定。之後,啓用對已驗證用戶的完全控制。你也必須重複這個.ldf文件。

+0

我已選中並驗證用戶出現在「組或用戶名」中。 – 2012-02-02 16:33:23

+0

當您選擇認證用戶並查看權限列表時,是否在允許列下選中完全控制? – huel 2012-02-02 16:39:20

+0

是的,有系統,mcan-PC \ mcan和mcan-PC \ Administrators,所有者是mcan-PC \ mcan,並且他們都在Allow列下檢查了完全控制 – 2012-02-02 16:43:16