2

我有一個ASP.net MVC應用程序連接到(localdb)\ v11.0 SQL Server數據庫與連接字符串使用「集成安全性」 - 工作正常。集成安全性= false時,在數據庫'master'中拒絕CREATE DATABASE權限 - 爲什麼要嘗試創建已存在的數據庫?

現在我想連接到用戶ID爲& PW的同一分貝。

我創建了登錄& user:user100,給了它db_owner權限。 我可以用SSMS打開帶有ID/PW的數據庫。

但是,當我改變我的連接字符串爲「用戶ID = user100 &密碼= XXXX」,我得到的錯誤:

CREATE DATABASE permission denied in database 'master'.\r\nCannot attach the file 'C:\Projects\ExcellerWeb\ExcellerWeb\App_Data\ExcellerWebCopy.mdf' as database 'ExcellerWebCopy'.

爲什麼它試圖創建一個已經存在的數據庫?

和下面的代碼返回TRUE:

System.Data.Entity.Database.Exists("UserConnection"); 

起初我還以爲是EF遷移,但似乎沒有上遷移一個簡單的測試項目中發生。

這裏是我的連接字符串:

<add name="UserConnection" 
    connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\ExcellerWeb.mdf;Initial Catalog=ExcellerWeb;Integrated Security=False;User ID=user200; Password=****" 
    providerName="System.Data.SqlClient" /> 

回答

2

從您的ConnectionString刪除選項AttachDbFilename

<add name="UserConnection" 
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=ExcellerWeb;Integrated Security=False;User ID=user200; Password=****" 
providerName="System.Data.SqlClient" /> 

此選項用於在打開連接時附加文件。 欲瞭解更多詳情,請看this或此MSDN-article

相關問題