2017-09-26 48 views
0

我正在使用實體框架代碼優先的方法。以下是我的app.config文件中的連接字符串。沒有計算機的連接字符串實體框架中的SQL Server Express數據庫的用戶標識密碼

<add name="CommandTronContext" 
    connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Technical\CommandTron\CommandTron.mdf;Initial Catalog=CommandTron;Trusted_Connection=True;Integrated Security=True;"/> 

我得到一個錯誤:

Cannot open database "CommandTron" requested by the login. The login failed. Login failed for user 'username'.

但我不想爲機器提供的用戶名密碼。有沒有辦法不提供任何登錄細節或僅爲此數據庫創建新的用戶名和密碼或使用SQL Server Express用戶名密碼?

+0

您在連接字符串中指定了'Trusted_Connection = True; Integrated Security = True',這意味着它使用您的Windows憑據進行連接,而不是用戶名+密碼。 – gunr2171

+0

您是否已將Windows憑據添加到SQL Server登錄? – FLICKER

+0

@ gunr2171,這就是我認爲它應該使用Windows憑據。但我不爲什麼要求用戶名 - 密碼然後 – Mini

回答

0

由於權限問題,似乎對數據庫文件的訪問出現故障。您可以通過兩種方式設置權限:

  1. 通過sql server management studio(SSMS),授予您數據庫的權限 。
  2. 或者當您試圖直接訪問mdf時。嘗試將 權限授予包含您的mdf文件的文件夾。

    在你的情況下,第2點應該工作。

+0

因此數據庫文件還不存在。我首先從Entity框架代碼創建它。它可以仍然有錯誤的權限? – Mini

+0

您能否提供更多信息我如何實現第2點? – Mini

+0

哦,我以爲你已經有了一個mdf文件。要了解逐步生成數據庫模型的第一種方法,請參閱 https://msdn.microsoft.com/en-us/library/jj205424(v=vs.113).aspx 視頻鏈接 https ://msdn.microsoft.com/en-us/library/jj591505(v = vs.113).aspx 我將創建一個數據庫並授予您的應用程序訪問數據庫所需的權限。 – Saj

相關問題