目前,我正在使用以下代码来检查数据库是否可访问:
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的数据库?
最佳答案
您可以将连接超时更改为更短。做一些测试,看看能走多低,仍然可靠。我敢打赌,您可能会接近500毫秒。
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectiontimeout.aspx
关于c# - ADO.NET:检查数据库服务器是否可访问的更快方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2762029/