【发布时间】:2010-05-04 00:13:33
【问题描述】:
目前我正在使用此代码检查数据库是否可访问:
public bool IsDatabaseOnline(string con)
{
bool isConnected = false;
SQLConnection connect = null;
try {
connect = new SQLConnection(con);
connect.Open();
isConnected = true;
} catch (Exception e) {
isConnected = false;
} finally {
if (connect != null)
connect.Close();
}
return isConnected;
}
虽然这段代码运行良好,但也有一个缺点。如果服务器不在线,它会花费大约 4 秒的时间尝试打开连接,然后才确定它不可用。
有没有办法在不尝试实际打开连接并等待超时的情况下测试连接?类似于 ping 的数据库?
【问题讨论】:
-
您认为您的服务器会长时间停机吗?
-
你应该把它改成
catch (SqlException)
标签: c# database ado.net connection