使用具有通用凭据的C#访问SQL server

使用具有通用凭据的C#访问SQL server,c#,sql,sql-server,C#,Sql,Sql Server,我有一个通用用户(用户名:user和密码:user),可以访问我的SQL数据库。 因此,如果我使用以下代码,我可以毫无问题地访问它: using System.Data.SqlClient; namespace ConsoleApp1 { Class Program { static void Main(string[] args) { string conString = "Data source=server

我有一个通用用户(用户名:user和密码:user),可以访问我的SQL数据库。 因此,如果我使用以下代码,我可以毫无问题地访问它:

using System.Data.SqlClient;

namespace ConsoleApp1
{
    Class Program
    {
        static void Main(string[] args)
        {
            string conString = "Data source=server; Initial catalog=db; Integrated security=true";
            SqlConnection conn = new SqlConnection(conString);
            using (conn)
            {
                conn.Open();
                SqlCommand command = new SqlCommand("SELECT * FROM Table", conn);
                SqlDataReader reader = command.ExecuteReader();
                conn.Close();
            }
        }
    }

}
但是,如果我通过将
IntegratedSecurity=true
替换为
User ID=User来更改构造;Password=user
,则我有一个例外

System.Data.SqlClient.SqlException:'Login failed for user 'user'.'

我希望对这些凭据进行硬编码,以便每个无法访问数据库的用户都可以使用这些通用凭据,但我无法解决此异常。

如果关闭集成安全性,则它将停止使用windows凭据,而必须在SQL Server自身中设置特定的用户帐户。Ps。需要明确的是,您不能使用集成安全性以不同于代码所运行的windows用户的身份登录(以防万一,这正是您所希望的)。此处有一些可视提示:@PabloD.,确保服务器配置为允许SQL身份验证(默认情况下仅限windows)。检查SQL Server错误日志,因为它将提供有关登录失败原因的更多详细信息。Integrated Security=true使用登录用户的windows凭据。因此,您永远不会同时使用Integrate Security=true和用户名/密码。