locked
Estado del Servidor SQL SERVER RRS feed

  • Pregunta

  • Hola a todos

    Tengo un problema con una aplicacion que estoy desarrollando. El caso es este.

    Hay un Servidor con SQL SERVER 2005 y tengo la aplicacion en varios computadores
    conectadas a ese servidor SQL.

    Lo que necesito saber es cuando el servidor SQL Server no halla conexion,
    para que la aplicacion avise que ya no hay conexion a la base de datos.

    He intentado con el evento StateChange de la conexion pero no me sirve ya
    que no me avisa de inmediato que no hay conexion con el servidor
    me gustaria saber si hay otra forma

    Se los agradeceria mucho si me pueden ayudar


    jueves, 4 de febrero de 2010 13:42

Respuestas

  • Depende del lenguaje en el que este desarrollado tu aplicacion pero aca te pongo un codigo en C#

     
    string mensaje;
    
    SqlConnection  con = new SqlConnection("DataSource=<Servidor>;Initial Catalog=<Base de Datos>");
    
       try
                {
            con.Open();
                }
                catch (Exception)
                {
                    mensaje = "No hay conexion";
                    throw;
                }
    Saludos
    jueves, 4 de febrero de 2010 14:24
  • Y acá se explica cómo hacer un timer (en VB.NET):

    http://www.programatium.com/vbnet.htm#ctrlTimer

    En resumen:

    - Hacer una función que intente abrir una conexión. Si abre bien, la cierra. Si atrapa una excepción, informar el error. Ver la idea que publicó Jaimaru en otro mensaje.

    - Llamar a esa función desde un timer que se dispare cada X minutos. Ver el link arriba acerca de cómo hacer un timer.


    Con todo eso ya tiene las piezas de lego para hacer su programa :-)


    Gustavo Larriera Sosa, Microsoft MVP | ascii164.blogspot.com | /*Este mensaje se proporciona tal como es, sin garantías de ninguna clase.*/
    jueves, 4 de febrero de 2010 14:33
    Moderador

Todas las respuestas

  • Una forma posible: Intente abrir una conexión y atrape la excepción. Si lo que usted quiere es monitorear en todo momento si hay conexión, programe un timer que cada X minutos intente abrir una coenxión al SQL Server y atrape posibles errores.


    Gustavo Larriera Sosa, Microsoft MVP | ascii164.blogspot.com | /*Este mensaje se proporciona tal como es, sin garantías de ninguna clase.*/
    jueves, 4 de febrero de 2010 13:52
    Moderador
  • Una forma posible: Intente abrir una conexión y atrape la excepción. Si lo que usted quiere es monitorear en todo momento si hay conexión, programe un timer que cada X minutos intente abrir una coenxión al SQL Server y atrape posibles errores.


    Gustavo Larriera Sosa, Microsoft MVP | ascii164.blogspot.com | /*Este mensaje se proporciona tal como es, sin garantías de ninguna clase.*/

    Gracias por su pronta respuesta.

    Me puedes enviar un ejemplo de como hacerlo?

    Te lo agradesco
    jueves, 4 de febrero de 2010 14:10
  • Depende del lenguaje en el que este desarrollado tu aplicacion pero aca te pongo un codigo en C#

     
    string mensaje;
    
    SqlConnection  con = new SqlConnection("DataSource=<Servidor>;Initial Catalog=<Base de Datos>");
    
       try
                {
            con.Open();
                }
                catch (Exception)
                {
                    mensaje = "No hay conexion";
                    throw;
                }
    Saludos
    jueves, 4 de febrero de 2010 14:24
  • Y acá se explica cómo hacer un timer (en VB.NET):

    http://www.programatium.com/vbnet.htm#ctrlTimer

    En resumen:

    - Hacer una función que intente abrir una conexión. Si abre bien, la cierra. Si atrapa una excepción, informar el error. Ver la idea que publicó Jaimaru en otro mensaje.

    - Llamar a esa función desde un timer que se dispare cada X minutos. Ver el link arriba acerca de cómo hacer un timer.


    Con todo eso ya tiene las piezas de lego para hacer su programa :-)


    Gustavo Larriera Sosa, Microsoft MVP | ascii164.blogspot.com | /*Este mensaje se proporciona tal como es, sin garantías de ninguna clase.*/
    jueves, 4 de febrero de 2010 14:33
    Moderador
  • voy a mirar muchas gracias
    jueves, 4 de febrero de 2010 15:03