

1 public static bool TestDatabaseConnection(string server, string connectionString) 2 { 3 bool isSuccess = false; 4 5 using (SqlConnection connection = new SqlConnection(connectionString)) 6 { 7 using (SqlCommand command = new SqlCommand("", connection)) 8 { 9 try 10 { 11 Ping pingSender = new Ping(); 12 PingOptions options = new PingOptions(); 13 options.DontFragment = true; 14 byte[] buffer = Encoding.ASCII.GetBytes("test"); 15 PingReply reply = pingSender.Send(server, 120, buffer, options); 16 if (reply.Status != IPStatus.Success) 17 { 18 return false; 19 } 20 21 connection.Open(); 22 command.CommandTimeout = 3; 23 if (connection.State == ConnectionState.Open) 24 { 25 connection.Close(); 26 isSuccess = true; 27 } 28 else 29 { 30 isSuccess = false; 31 } 32 } 33 catch (Exception ex) 34 { 35 ex.Message.ToString(); 36 return false; 37 } 38 39 return isSuccess; 40 } 41 } 42 }