Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: antonio2005pe en Junio 21, 2015, 02:45:29 am
-
Buenas, actualmente estoy usando ado codigo para conectar a Mysql, pero el problema viene cuando el server esta caido o la red no esta correcta, quiero que no se me quede medio colgado el programa durante la conexion a la base de datos, ya intente cambiar el timeout pero no me da resultados, por favor alguien que me de una mano, este es mi codigo:
Const CNStr = "Driver={MySQL ODBC 5.2 Unicode Driver};Server=192.168.1.100;Port=3306;Timeout=5;Option=131072;St mt=;Database=DB;Uid=User;Pwd=Pass;"
Public CN As ADODB.Connection
Public RSUsers As ADODB.Recordset
Sub CNUsers(SQL As String)
On Error GoTo ErrRedUsers
Set CN = New ADODB.Connection
Set RSUsers = New ADODB.Recordset
CN.ConnectionString = CNStr
CN.Open
RSUsers.CursorLocation = adUseClient
RSUsers.LockType = adLockOptimistic
RSUsers.ActiveConnection = CN
RSUsers.Open SQL
Exit Sub
ErrRedUsers:
MsgBox Err.Description
End Sub
CNUsers "select * from users where Login=Login"
Gracias.
-
Estimado antonio2005pe
Antes de intentar conectar con tu DB remota, valida si tienes conexión hacia el servidor remoto de base de datos.
Una de las formas es hacer un PING hacia la IP (192.168.1.100) del servidor de base de datos.
En estos link tienes unos ejemplos de como hacer PING desde VB
https://support.microsoft.com/en-us/kb/300197 (https://support.microsoft.com/en-us/kb/300197)
http://www.vbforums.com/showthread.php?673392-VB6-Clean-Ping-in-VB6-Code (http://www.vbforums.com/showthread.php?673392-VB6-Clean-Ping-in-VB6-Code)
Saludos, desde algún lugar de Lima-Perú
-
@Albertomi, quizas el servidor mysql (daemon) se cae, y el server (OS) queda prendido, por ende el Ping va a contestar sin problemas...
La solucion seria hacer otra app que solamente compruebe esto, y que la misma se "tilde" mientras prueba conectarse... Si se conecta, envia un mensaje a la app principal indicando como resultó eso. Podes usar la clase clsDDE de cobein para enviar esta informacion entre apps muy facilmente.
Saludos
-
Muchas gracias por sus respuestas, haré la prueba con ambos métodos para ver como me sale, Gracias.