没有计算机的连接字符串实体框架中的SQL Server Express数据库的用户标识密码

问题描述:

我正在使用实体框架代码优先的方法。以下是我的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

由于权限问题,似乎对数据库文件的访问出现故障。您可以通过两种方式设置权限:

  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