Este es un tutorial de los Pasos para conectar una base de datos Mysql en un Servidor Remoto con Visual Basic 6.
Hoy se me presento un servicio que requería que el software de facturación que usa una base de datos MySql se conectara a otro computador en otra ciudad para ver la información de las ventas.
Les voy a explicar como resolví el asunto porque fue algo que logre hacer y que resulto mas fácil de lo que pensé.
Colabora y Suscribete a mi canal de
Explico como estaba la empresa con el software:
Yo le vendí mi software a esa empresa que tiene dos sucursales en ciudades distintas, no hubo problema la sucursal principal le instale la versión del software que usa una base de datos MySQL y se conectan 5 computadores a un servidor principal, en la segunda solo son 2 computadores.
Así estaba funcionando todo bien sin problemas, las sucursales son independientes. Pero el cliente me dice que necesita ver la información de la otra sucursal desde su computador.
Surge la siguiente pregunta.
¿Como logro conectar desde mi computador a servidor de la otra sucursal que tiene Windows 10 Pro ?
Lo primero que intente fue hacer una conexión remota por Windows. Entonces cree 2 usuarios en el servidor y intente conectarme pero mi gran sorpresa fue que Windows 10 no permite 2 sesiones al tiempo NOOO! que mal intente con un parche y nada porque las ultimas versiones de Windows no lo permite.
Entonces fue cuando vino a mi mente intentar hacer la conexión a ese computador desde mi computador para lograrlo detallo los que se necesitaba.
1. Configurar Modem
Que el Modem del Internet enrutara la conexión remota al servidor para eso se llama al proveedor de Internet y se le dice que ajuste la DMZ a la Ip del servidor, ¿Como así? Pues si intentas hacer una conexión externa usando la Ip publica esa conexión llega al módem y si el módem no redirige esa conexión a la Ip local del servidor no va a funcionar.
En la imagen que arme con Paint porque no tengo edito de imagen 😉 Puedes observar una conexión normal si tu me pasaras tu Ip publica para una conexión remota no funcionaria porque debes configurar la DMZ para que el módem sepa a quien dirigirle la conexión que esta entrando. Debes llamar a tu proveedor y pedirle que ponla la DMZ es gratuito ese servicio.
2. Crear usuario en MySQl con privilegios de conexión externa.
Si tu intentas conectarte desde otro computador en un red loca a una base de datos mysql con el usuario root no te va a dejar debes crear otro usuario, yo uso XAMPP que trae Apache, MySQL y PHP y trae el PHPMyAdmin para administrar la bases de datos.
Usando PHPMyAdmin se va a la parte de Cuentas de Usuario y hay creamos un nuevo usuario con todos los privilegios esos sera el usuario de conexión externa.
3. Fìrewall de Windows habilitar el puerto 3306.
Bueno esta parte también es fácil pero si no la hacemos nos va a dar un dolor de cabeza cuando nos intentemos conectar al servidor.
En el servidor nos vamos al firewall de Windows por el Panel de Control, luego a Firewall de Windows Defender, Al lado izquierdo hay varias opciones escogemos Configuración Avanzada. Eso nos abre una ventana no vamos al lado derecho en Reglas de Entrada, al lado derecho Nueva Regla .
Ahora se abre una ventana llamada Asistente para Nueva Regla de Entrada, escogemos el tipo de regla que es Puerto, le damos en Siguiente, en el cuadro de texto colocamos 3306 que es el puerto que queremos abrir al Publico.
Le damos en Siguiente y Dejamos seleccionado la opción Permitir conexión, Siguiente, Le Ponemos un Nombre a la regla “Lo que quieran poner” yo coloque “Puerto MySQL”, en descripción si quieres la colocan y Finalizar.
Listo ya quedo listo el servidor.
4. Pedir la Ip Publica del Servidor.
Como todos sabemos supongo claro esta que todos los que se conectan a internet usan una Ip Publica, cada Modem tiene su ip publica.
¿Como se mi ip publica? Simplemente solo vas a google y colocas y Ip publica y ya abre la primera pagina que te salga y el numero sera parecido a este:
191.103.215.242
Ese numero debemos saberlo para podernos conectar, si recuerda en gráfico del DMZ lo entenderán mejor.
Pero hay un problema ese numero cambia casi todos los días. Cada vez que apaga y enciende el módem ese numero cambia lo que implica tener que pedir ese numero todos los días.
Yo lo solucione usando un Hosting que tengo en hostinger.com que tiene los planes mas económicos compre por 10 US por 3 meses y en ese lugar tengo alojada de mis paginas web.
En el software cree un procedimiento que se conecta a mi hosting y guarda esa IP usando PHP y MySQL (Sacare un video explicando esto)
Luego Desde mi software local obtengo esa Ip y hago la conexión a MySQL del servidor externo.
lo digo como facil 😉 pero en otra oportunidad le explico detallado esto por ahora pueden pedir la ip y ponerla en la conexión les voy a dejar un ejemplo den VB6 de conectarse a Mysql usando un archivo INI para que lo lea el software y se conecte usando los datos de ese archivo asi podemos cambiar la Ip o los datos con que se conecta las veces que necesitemos sin tener que modificar el código del software.
Les dejo el código que uso para conectarme por MySQL
vServer = "127.0.0.1" vDatabase = "contars_r" vUser = "root" vPassword = "" StringConexion = "DRIVER={MySQL ODBC 8.0 ANSI Driver};SERVER=" & vServer & ";DATABASE=" & vDatabase & ";USER=" & vUser & ";PASSWORD=" & vPassword & ";OPTION=3;" ' "DRIVER={MySQL ODBC 8.0 Driver};DATABASE=contars_3;SERVER=localhost;UID=mysql; USER=root; PASSWORD=;PORT=3306;" Cx4_ConexionADO.CursorLocation = adUseClient Cx4_ConexionADO.Open "DRIVER={MySQL ODBC 8.0 ANSI Driver};SERVER=" & vServer & ";DATABASE=" & vDatabase & ";USER=" & vUser & ";PASSWORD=" & vPassword & ";OPTION=3;" ' "DRIVER={MySQL ODBC 8.0 Driver};DATABASE=contars_3;SERVER=localhost;UID=mysql; USER=root; PASSWORD=;PORT=3306;"
Ese código es el que uso para el local claro pero sin usar el archivo INI
Recuerda compartir y recomendar esta pagina
Código del ejercicio: Conexión DB Remota Vb6 (407 descargas )