【问题标题】:Connection string without computer User ID-Password for SQL Server Express database in Entity Framework实体框架中 SQL Server Express 数据库的无计算机用户 ID-密码的连接字符串
【发布时间】:2017-09-26 23:34:16
【问题描述】:

我正在使用实体框架代码优先方法。下面是我的app.config 文件中的连接字符串。

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

我收到一个错误:

无法打开登录请求的数据库“CommandTron”。登录失败。用户“用户名”登录失败。

但我不想为机器提供用户名密码。有没有办法不提供任何登录详细信息或仅为该数据库创建新的用户名和密码或使用 SQL Server Express 用户名密码?

【问题讨论】:

  • 您在连接字符串中指定 Trusted_Connection=True;Integrated Security=True,这意味着它使用您的 Windows 凭据进行连接,而不是用户名 + 密码。
  • 您是否已将 Windows 凭据添加到 SQL Server 登录?
  • @ gunr2171 ,这就是我认为它应该使用 Windows 凭据的原因。但我不知道为什么它要求用户名 - 然后是密码
  • @FLICKER,我正在使用 SQL Express。所以我不知道如何为它设置 Windows 凭据

标签: c# sql entity-framework sql-server-express


【解决方案1】:

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

  1. 通过 sql server management studio (SSMS),通过授予权限 到您的数据库。
  2. 或者当您尝试直接访问 mdf 时。尝试给予 包含您的 mdf 文件的文件夹的权限。

    在您的情况下,第 2 点应该有效。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-22
  • 1970-01-01
  • 2011-09-28
  • 1970-01-01
相关资源
最近更新 更多