为什么我会收到错误
登录失败
来自这段代码?
try
{
string connectionString;
SqlClient.SqlDataAdapter dataAdapter;
SqlClient.SqlConnection connection;
DataSet dataSet = new DataSet();
connectionString = "Server=IP,PORT;Database=dbTest;Integrated Security=False;User ID=testUser;Password=XXXXXX;";
connection = new SqlClient.SqlConnection(connectionString);
connection.Open();
dataAdapter = new SqlClient.SqlDataAdapter(sqlQuery, connection);
dataSet = new DataSet();
dataAdapter.Fill(dataSet, "tblTest");
dataSet.Dispose();
dataAdapter.Dispose();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
它适用于本地数据库,但是对于远程数据库,它会抛出"登录失败"错误。
注1 :我可以使用SQL Server Management Studio使用此用户标识和密码登录服务器。
注2 :以下代码有效,但为什么和有什么区别?
try
{
DbProviderFactory factory = DbProviderFactories.GetFactory(providerName);
DbConnection connection = factory.CreateConnection();
connection.ConnectionString = "Server=IP,PORT;Database=dbTest;Integrated Security=False;User ID=testUser;Password=XXXXXX;";
using (connection)
{
DbCommand command = factory.CreateCommand();
command.CommandText = sqlQuery;
command.Connection = connection;
DbDataAdapter dataAdapter = factory.CreateDataAdapter();
dataAdapter.SelectCommand = command;
DataTable dataTable = new DataTable();
dataAdapter.Fill(dataTable);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
答案 0 :(得分:0)
请在您的连接变量中提供提供商名称。
connectionString = "Server=IP,PORT;Database=dbTest;Integrated Security=False;" +
"User ID=testUser;Password=XXXXXX;providerName="System.Data.SqlClient";
答案 1 :(得分:0)
它与本地数据库完美配合,但使用远程db throw登录 失败的错误。
您的SQL Server上的远程连接似乎有问题。
请查看下一个链接:
答案 2 :(得分:0)
似乎问题只是连接字符串。当我把它改为:
connectionString = "Data Source=IP;Initial Catalog=dbTest;Integrated Security=false;User ID=testUser;Password=XXXXXX;"
,问题解决了。