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.
 

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.






.

Preguntas similares