Conexion a BD Remota.

08/09/2004 - 17:14 por Danky | Informe spam
Que Tal Masters!

Para los entendidos k me puedan ayudar se los agradecere
muchisimo.

Estoy haciendo una app bastante critica y la conexion a la
BD es total, 24 x 7.
Quiero hacer varios reintentos de conexion por si no se
conecta pero tengo este pedazo de codigo y no hace el
reintentos que quiero, como puedo arreglarlo?

funcion(int intentos)
{
try
{
for(i=0;i<intentos;i++)
{
objConectar.Open();
if(objConectar.State == ConnectionState.Open)
{ break; } <-- sale del for
else
{ continue;} <-- continua con sig iteracion
}
}
catch(Exception e)
{ msg: "fallo conexion:" + e.message}

}

Nota: Si no se conecta se pasa al Catch y no regresa al
for para intentarlo de nuevo. que puedo hacer?

De antemano Gracias.

Preguntas similare

Leer las respuestas

#1 Daniel Mazzini
08/09/2004 - 19:05 | Informe spam
Programando podrias hacer un while(variable), antes pones
la variable a true, y si abre poner la variable a false;
Programando puedes hacer eso, pero nadie te garantiza que
la cosa funcione 24 X 7. Buscaria otra alternativa mas
confiable, como puede ser servidores de base de datos
replicados en cluster. Si la app es una web, pues mejor,
porque podrias guardar el estado de la session en base de
datos. Si no puedo tener dos servidores de BD, buscaria
que si no hace el open(), que lo envie a una cola de
mensajes.

Que Tal Masters!

Para los entendidos k me puedan ayudar se los agradecere
muchisimo.

Estoy haciendo una app bastante critica y la conexion a la
BD es total, 24 x 7.
Quiero hacer varios reintentos de conexion por si no se
conecta pero tengo este pedazo de codigo y no hace el
reintentos que quiero, como puedo arreglarlo?

funcion(int intentos)
{
try
{
for(i=0;i<intentos;i++)
{
objConectar.Open();
if(objConectar.State == ConnectionState.Open)
{ break; } <-- sale del for
else
{ continue;} <-- continua con sig iteracion
}
}
catch(Exception e)
{ msg: "fallo conexion:" + e.message}

}

Nota: Si no se conecta se pasa al Catch y no regresa al
for para intentarlo de nuevo. que puedo hacer?

De antemano Gracias.






.

Respuesta Responder a este mensaje
#2 Octavio Hernandez
09/09/2004 - 01:40 | Informe spam
Hola,

Me imagino que dices que no respeta el nº de intentos porque tu código
saldrá del bucle a la primera cuando falle la conexión (te dará una
excepción).
Debes meter un try/catch DENTRO del bucle:

void conectar(int intentos)
{
for (int i=0; i<intentos; i++)
{
try
{
objConectar.Open();
if (objConectar.State == ConnectionState.Open)
return; // OK
}
catch (Exception ex)
{
i++;
}
}
}

"Danky" escribió en el mensaje
news:82a801c495b6$865ee910$
Que Tal Masters!

Para los entendidos k me puedan ayudar se los agradecere
muchisimo.

Estoy haciendo una app bastante critica y la conexion a la
BD es total, 24 x 7.
Quiero hacer varios reintentos de conexion por si no se
conecta pero tengo este pedazo de codigo y no hace el
reintentos que quiero, como puedo arreglarlo?

funcion(int intentos)
{
try
{
for(i=0;i<intentos;i++)
{
objConectar.Open();
if(objConectar.State == ConnectionState.Open)
{ break; } <-- sale del for
else
{ continue;} <-- continua con sig iteracion
}
}
catch(Exception e)
{ msg: "fallo conexion:" + e.message}

}

Nota: Si no se conecta se pasa al Catch y no regresa al
for para intentarlo de nuevo. que puedo hacer?

De antemano Gracias.






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida