C#WinForms不接受连接字符串用户详细信息

时间:2015-08-28 14:19:22

标签: c# winforms

我在App.config中有一个连接字符串,如下所示:

<add name="connectionString"
      connectionString="Data Source=SERVER;Initial Catalog=DB;Integrated Security=True;User ID=domain\username;Password=12345;Connection Timeout=300"
      providerName="System.Data.SqlClient" />

然后我在代码后面调用字符串,如下所示:

string conSTR = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
                SqlDataReader reader;
                using (SqlConnection sqlConn = new SqlConnection(conSTR))
                using (SqlCommand cmd = new SqlCommand(SQLQuery, sqlConn))
                {
                    sqlConn.Open();
                    reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                     .... stuff happens here
                    }
                }

我的本​​地帐户无权访问服务器,但传入连接字符串的服务帐户有。

我得到的错误是:

Cannot open database "DB" requested by the login. The login failed.

Login failed for user 'domain\MyUserName'.

由于某种原因,它完全忽略了连接字符串中的用户名/密码,并尝试使用我的帐户进行连接。

我该如何解决?

2 个答案:

答案 0 :(得分:4)

您已在连接字符串中集成security = true,请将其删除。

答案 1 :(得分:0)

那是因为您指定了Integrated Security=True;。这会取代任何其他身份验证设置,将其删除,它将使用提供的用户名和密码。

相关问题