无法通过asp.net Web应用程序使用sql身份验证进行连接

时间:2015-03-19 20:30:06

标签: asp.net sql-server entity-framework

运行应用程序时,我无法让我的网络应用程序连接到数据库。我可以在SQL Server对象资源管理器中连接,并从连接属性中获取连接字符串

这是我的连接字符串:

<add name="Quotes.DAL.QuotesConnection" 
     connectionString="Data Source=(localdb)\v11.0;Initial Catalog=TestDB;Integrated Security=False;User ID=sa;Password=***;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False" 
     providerName="System.Data.SqlClient" />

我可以SA连接,我可以创建它在Management Studio中指向的数据库。当我的应用程序尝试通过Entity Framework进行连接时,出现以下错误:

  

System.Data.SqlClient.SqlException(0x80131904):登录失败。登录来自不受信任的域,不能与Windows身份验证一起使用。在System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,

我将Windows 7作为家庭开发机器运行,因此没有Active Directory。

有人可以解释为什么会发生这种情况吗?

我发现这可能是因为我在另一个程序集中有Entity Framework。我创建了一个新的Web应用程序,其连接字符串可用。当它在我的DAL中尝试相同的连接字符串时,它会因同样的错误而失败!

由于

1 个答案:

答案 0 :(得分:1)

可能是因为设置Integrated Security=False,我从未将其设置为false。我在使用sql设置连接字符串时通常只使用最小Server=myServerAddress;Database=myDataBase;User Id=myUsername; Password=myPassword;身份验证,只根据需要添加内容。

我看到的另一个问题是使用SA连接到数据库。这打破了本书中几乎所有最佳实践,我建议您在推出该程序时创建一个特定于应用程序的密码。原因是服务器的 GOD ACCESS 帐户将在app.config文件中以明文形式显示其密码。请记住一些事情。

编辑:经过一些评论讨论后,连接字符串位于错误的配置文件中。