C#测试SQL Server是否打开的问题。
用C#测试SQL Server是否“正在运行”,可直接使用SqlConnection的Open方法,没有捕获异常时认为SQL Server“正在运行”,否则为连接失败。
测试的时候,SQL Server 2000 SP4和测试程序运行与同一台计算机。
我在一个窗体里面加入了一个按钮,按下按钮则开始测试。
当SQL Server处在运行状态时,程序弹出“连接成功”提示框,此时不退出测试程序,停止SQL Server,重新测试连接,仍得到“连接成功”提示。如果此时退出测试程序,重新打开测试,则显示“连接失败”。
请问测试程序没有退出的时候,是否有缓存保留了SQL连接信息?
应该如何处理,才能每次都得到正确的测试结果?
// 测试SQL连接
void BtnTestClick(object sender, EventArgs e)
{
string _connString= "Data Source=" + tbSqlIP.Text +
";Initial Catalog=" + tbSqlDatabase.Text +
";User ID=" + tbUser.Text +
";pwd=" + tbPwd.Text + ";";
using(SqlConnection sqlConn= new SqlConnection(_connString))
{
try
{
sqlConn.Open();
MessageBox.Show("Sql连接成功!","恭喜",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
catch(Exception)
{
MessageBox.Show("Sql连接失败,请检查设置参数与网络连接!","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
finally
{
sqlConn.Close();
sqlConn.Dispose();
}
}
}