我有一个连接字符串中的App.config像这样:C#的WinForms不接受连接字符串的用户资料
<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'.
出于某种原因,它完全无视在连接字符串中的用户名/密码,并尝试使用我的帐户连接。
我该如何解决这个问题?
有时候简单的事情......但现在我得到的服务帐户“登录失败的用户域\\帐户”。“',即使密码是正确的。是否期望SQL登录,而不是Windows身份验证? –
是的,我认为是这样,http://www.connectionstrings.com/sql-server/可以帮助你 – Jay
是的,你可以使用集成的安全性作为当前的Windows用户或SQL登录如果你想使用一个替代域名您必须使用模拟功能 – shf301