Hola Amigo Conexión Pam Pda
Hola amigo... Como estas... Molestándote con una pregunta...
Tengo este código.. El problema que tengo es que si no hago una consulta a la BDD(MYSQL) después de media hora o más... Tarda demasiado tiempo para volverse a conectar a la base de datos o si no me saca del sistema...
Ejemplo:hago una consulta POR a la bdd(MYSQL).. Asta aquí todo bien... Mientras este haciendo consultas o movientos no hay problema así pueda estar todo el día...
El problema es... Si hago una sola consulta a las 10:00 AM... Y por ejemplo a las 11:00 AM vuelvo hacer otra consulta... Me saca del sistema, me dice que no se pudo coentar a la mysql, o aveces si me hace la consulta pero como a los 2 minutos me regresa la consulta...
Hice una prueba de tiempo.. Y lo máximo que me da es media hora... Para volver hacer otra consulta durante ese tiempo sin problema..
private bool mfConnectDB()
{
bool fReturn = false;
string sStringConnection = "Pooling=true;Max Pool Size=200;Connect Timeout=1;Server=" + dbDatos.IP + ";Database=" + dbDatos.database + "; port=" + dbDatos.port + ";uid=" + dbDatos.user + ";pwd=" + dbDatos.pass;
try
{
if ((m_oDB == null) || (m_oDB.State != ConnectionState.Open))
{
m_oDB = new MySqlConnection(sStringConnection);//creamos la nueva conexion
m_oDB.Open();//abrimos la conexion
}
if (m_oDB.State == ConnectionState.Open)
{
fReturn = true;//sí se pudo abrir
}
else
{
fReturn = false;//no se pudo abrir
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
ConnMgrConnectionInfo.ConnMgrStatus connStatus = ConnMgrConnectionInfo.DoConnect("http://google.com.mx"); //intentamos abrir conexion GPRS
}
return fReturn;
}//Conexion a la BDD
*****************************************************************************
*****************************************************************************
private void fillComboBoxAreas()
{
ddArea.Items.Clear();//borramos las entradas del combo box
if (mfConnectDB())//nos conectamos a la base de datos
{
string sSqlAreas = "SELECT *from areaservicios ORDER BY areaservicios.descripcion";
MySqlDataAdapter sqlDataAreas = new MySqlDataAdapter(sSqlAreas, m_oDB);//creamos un data adapter
DataSet dtsServiciosAreas = new DataSet();//Creamos un data set para las solicitudes
//**********************************************************
try
{
sqlDataAreas.Fill(dtsServiciosAreas);//llenamos el dataset con la consulta
if (dtsServiciosAreas.Tables[0].Rows.Count > 0) //si hay por lo menos un dato
{
foreach (DataRow oRowAreas in dtsServiciosAreas.Tables[0].Rows)//por cada fila datos....
{
//Creamos un nuevo...
Tengo este código.. El problema que tengo es que si no hago una consulta a la BDD(MYSQL) después de media hora o más... Tarda demasiado tiempo para volverse a conectar a la base de datos o si no me saca del sistema...
Ejemplo:hago una consulta POR a la bdd(MYSQL).. Asta aquí todo bien... Mientras este haciendo consultas o movientos no hay problema así pueda estar todo el día...
El problema es... Si hago una sola consulta a las 10:00 AM... Y por ejemplo a las 11:00 AM vuelvo hacer otra consulta... Me saca del sistema, me dice que no se pudo coentar a la mysql, o aveces si me hace la consulta pero como a los 2 minutos me regresa la consulta...
Hice una prueba de tiempo.. Y lo máximo que me da es media hora... Para volver hacer otra consulta durante ese tiempo sin problema..
private bool mfConnectDB()
{
bool fReturn = false;
string sStringConnection = "Pooling=true;Max Pool Size=200;Connect Timeout=1;Server=" + dbDatos.IP + ";Database=" + dbDatos.database + "; port=" + dbDatos.port + ";uid=" + dbDatos.user + ";pwd=" + dbDatos.pass;
try
{
if ((m_oDB == null) || (m_oDB.State != ConnectionState.Open))
{
m_oDB = new MySqlConnection(sStringConnection);//creamos la nueva conexion
m_oDB.Open();//abrimos la conexion
}
if (m_oDB.State == ConnectionState.Open)
{
fReturn = true;//sí se pudo abrir
}
else
{
fReturn = false;//no se pudo abrir
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
ConnMgrConnectionInfo.ConnMgrStatus connStatus = ConnMgrConnectionInfo.DoConnect("http://google.com.mx"); //intentamos abrir conexion GPRS
}
return fReturn;
}//Conexion a la BDD
*****************************************************************************
*****************************************************************************
private void fillComboBoxAreas()
{
ddArea.Items.Clear();//borramos las entradas del combo box
if (mfConnectDB())//nos conectamos a la base de datos
{
string sSqlAreas = "SELECT *from areaservicios ORDER BY areaservicios.descripcion";
MySqlDataAdapter sqlDataAreas = new MySqlDataAdapter(sSqlAreas, m_oDB);//creamos un data adapter
DataSet dtsServiciosAreas = new DataSet();//Creamos un data set para las solicitudes
//**********************************************************
try
{
sqlDataAreas.Fill(dtsServiciosAreas);//llenamos el dataset con la consulta
if (dtsServiciosAreas.Tables[0].Rows.Count > 0) //si hay por lo menos un dato
{
foreach (DataRow oRowAreas in dtsServiciosAreas.Tables[0].Rows)//por cada fila datos....
{
//Creamos un nuevo...
Respuesta de Roberto Alvarado
1