没有计算机的连接字符串实体框架中的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用户名密码?
答
由于权限问题,似乎对数据库文件的访问出现故障。您可以通过两种方式设置权限:
- 通过sql server management studio(SSMS),授予您数据库的权限 。
-
或者当您试图直接访问mdf时。尝试将 权限授予包含您的mdf文件的文件夹。
在你的情况下,第2点应该工作。
您在连接字符串中指定了'Trusted_Connection = True; Integrated Security = True',这意味着它使用您的Windows凭据进行连接,而不是用户名+密码。 – gunr2171
您是否已将Windows凭据添加到SQL Server登录? – FLICKER
@ gunr2171,这就是我认为它应该使用Windows凭据。但我不为什么要求用户名 - 密码然后 – Mini