Conectando a un servidor mysql desde visual basic

Escrito por Mauro Rondinelli el Viernes 30 de Setiembre de 2005 a las 00:00hs

MySQL es una de las base de datos mas rápidas y potentes de la actualidad si a esto le agregamos lo rápido que se torna desarrollar bajo Visual Basic sin dudas corremos con grandes ventajas a la hora de crear potentes aplicaciones. No solo para acceder de forma local a nuestra base de datos sino también puede que necesitemos acceder a un servidor MySQL localizado en otra parte del mundo y hasta que este corra bajo Linux.

Como primer paso debemos crear la referencia a RDO (Remote Data Object) desde nuestro Visual Basic, para esto vamos al menú Proyecto > Referencias... y ahí seleccionamos Microsoft Remote Data Object...

Esa va a ser la librería (similar a ADO o DAO) que nos va a dar todos los métodos para poder conectarnos tanto local como de forma remota a un servidor MySQL.

La aplicación de ejemplo que hemos creado conecta al servidor indicado mediante un usuario y contraseña y nos devuelve todas las tablas de la base de datos indicada, veamos un gráfico así queda mas claro...

Al hacer click en el botón conectar se inicia el proceso de conexión al servidor indicado...

Private Sub boton_conectar_Click()
Dim cadena_conexion

'creamos la cadena de conexión leyendo los valores de los textbox
cadena_conexion = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=" & servidor & "; DATABASE=" & base_de_datos & " ;PWD=" & password & "; UID=" & usuario & ";OPTION=3"

Set db = New rdoConnection


'asociamos la cadena de conexión al objeto
db.Connect = cadena_conexion
db.CursorDriver = rdUseServer

'establecemos la conexión
db.EstablishConnection
End Sub

Ese es el código que nos conectara a nuestro servidor MySQL, vemos en negrita los comentarios en el código que nos facilitaran entenderlo. El próximo paso será obtener el listado de todas las tablas de la base de datos abierta....

Dim tabla As rdoTable
Dim hay_tablas As Boolean

hay_tablas = False
cambiar_botones True


'recorremos todas las tablas
For Each tabla In db.rdoTables
'extraemos el nombre de la tabla y lo agregamos en un listbox
tablas.AddItem tabla.Name
hay_tablas = True
Next

If Not hay_tablas Then
MsgBox "La base de datos esta vacia"
boton_desconectar_Click
End If

Hasta aca ya tenemos una lista de todas las tablas que hay en la base de datos, ahora solo nos queda listar el contenido de la tabla seleccionada...

Dim tabla As String
Dim consulta As New rdoQuery
Dim resultados As rdoResultset
Dim contenido_row As String
Dim columna As rdoColumn

contenido.Clear

tabla = tablas.List(tablas.ListIndex)

'le indicamos al objeto consulta que usaremos db como base de datos activa
Set consulta.ActiveConnection = db

'creamos la consulta SQL y la ejecutamos
consulta.SQL = "SELECT * FROM " & tabla & " WHERE 1"
consulta.Execute

'asigamos el resultado de la consulta a nuestro objeto resultados (rdoResultset)
Set resultados = consulta.OpenResultset

'recorremos todos los resultados
While Not resultados.EOF

contenido_row = ""

'cargamos el contenido de cada registro
For Each columna In resultados.rdoColumns
contenido_row = contenido_row & columna.Name & "=" & resultados(columna.Name) & "; "
Next

'agregamos el contenido de cada registro al listbox
contenido.AddItem contenido_row
resultados.MoveNext
Wend

'cerramos y borramos los objetos
resultados.Close
Set resultados = Nothing

Bien hasta aca tenemos todos los aspectos básicos de como conectarnos y trabajar con una base de datos MySQL desde Visual Basic, recordemos que el código aca mostrado forma parte de nuestro ejemplo que podemos descargar desde aquí.


comentarios



  1. que lenguaje es esto para vb.net???? o vb 6.0



  2. VB 6.0



  3. Como instalo el mysql en mi window y como lo configuro para que se pueda usar con el ejemplo



  4. Para ejecutar consultas de accion tipo insert into, update se utiliza la misma manera conocida pro ado?, y mediante ado no se puede conectar igualmente con mysql?, en el ejemplo que muestras da lomismo si el servidor esta local o en otro lugar?, muchas gracias por ofrecer tus conocimientos a gente que va aprendiendo
    atte

    Eduardo



  5. Eduardo con ADO podés llegar a lo mismo con mysql conector ODBC/3.51 el cual bajas de la página de mysql. Por otro lado en el lugar de servidor pones la dirección ip, de este, el usuario ("root" por ejemplo), y el password. También tenés que configurar el puerto que por defoult viene el 3306. Con eso estaría configurado.
    Recomendaciones, yo me volví loco para conectar por los siguientes motivos
    1. en Windows por los firewall (fijate de configurarlos correctamente o para las pruebas mejor cerralos por un rato)
    2. Tengo my MySql corriendo en Linux y conecto remoto desde windows. fijate que vas a tener que cambiar un archivo que se llama /etc/mysql/my.conf hay una linea que tenés que comentar para que te arranque remoto (la comentas con "#")
    # bind-address = 127.0.0.1
    luego reinicias mysql: /etc/init.d/mysql restart
    e intentá conectar de nuevo que tiene que andar
    Si estás en linux, otro problema de conexión que me robo varias horas fue que no iniciaba correctamente pero yo creía que sí. para hacerlo correr deberías teclear la siguiente linea /usr/local/bin/mysqld_safe &
    Fijate que el MySqlODBC es muy grafico para hacer las conexiones asi que no vas a tener problemas de entenderlo. Por otro lado todo lo que sea SQL con ado es igual creo o practicamente igual con Visual Basic en las cosas simples.
    Si puedo ayudar en algo más no dudes en mandarme un correo que lo voy a responder con gusto de poder evitarte las noches y noches que me pasé investigando estos temas... SAludos



  6. Te dejo mi email que no apareció como creía, es pfaranna@gmail.com o pfaranna@hotmail.com (uso los dos). Suerte..



  7. he estado dandole vueltas a lo de conectar por visual basic 6 una base de datos mysql e intentado hacer de todo tanto lo que se explica en este archivo como por otras paginas y nada, me sale el error 40002 y lo he estado mirando por internet y es fallo de que no encuentra la base de datos y tengo instalado y configurado el controlador mysql odbc 3.51 con lo de los dns.
    como he leido en los comentarios que tambien se puede hacer por ado me gustaria que alguien me dijese como hacerlo y/o solucionar el problema que os he comentado anteriormente.
    es pero una contestacion, un saludo



  8. HOLA CARLOS SAVES TENGO UN PROBLEMA PARECIDO PERO EL ASUNTO DE LA CONECCION TE RECOMIENDO OBDC 351 INSTALALO Y CIONECTAS EL ADODC POR VIA OBDC Y SE TE QUITA EL DOLOR DE CABESA ,,,,,,,, MI PROBLEMAS ES QUE DA PROBLEMAS CON ADODC PARA GUARDAR O MODIFICAR SI ALGUIEN ME PUEDE AYUDAR POR FAVOR SE LO AGRADESCO



  9. gracias jose gregorio de esta forma puedo acceder bien a la base de datos, me has quitado mi gran martirio, mirare lo de grabar y modificar datos por si te puedo ayudar.
    un saludo



  10. me sale error 429 no puede crear objeto en la linea
    Set db = New rdoConnection

    ya hice referencia al dataobject. y todo eso
    busque en otros foros dicen que actualice el jet 4.0 y alo hice pero nada me da el mismo error..
    ojala puedas ayudarme yo estoy con vb 6.0



  11. soy novato en linux , configure un servidor primario en fedora core 4.0 el funciona e instalado phpmyadmin el cual puedo usar es mas creo usuarios y le di permisos para poder acceder remotamente desde windows , ya le e puesto a mi maquina de windows el driver MYSQL 3.51 y tambien le instalado a mi servidor linux, AL MOMENTO DE HACER LA CONexion no se conectan y dandodeme de baja la interfaz de red de mi computador de linux !!! siiiiii cada vez que me conecto a una base desde windows me da de baja la intrfaz de red por la que estoy en red ,,,



  12. saludos a todos. Yo estoy usando ADO con myODBC, y la conexion parece funcionar bien. Pero a la hora de agregar o hacer busqueda de registros no lo hace. Desde la consola de mysql hice insert de unos datos, y trate de buscarlos con la aplicacion en VB, y me dio un error en tiempo de ejecucion. Al agregar datos, tampoco lo hace desde VB. Que saben al respecto? Aunque este usando ADO, los comandos de recordset para agregar el registro y buscar(adodc.recordset.update || ado.recordset.find) son diferentes por tratarse de mysql y no de Access?
    Como se hace un INSERT con ado? es posible?
    Bendiciones



  13. no podés mostrar el ejemplo, con fuentes



  14. antes de cualquier cosa es necesario saber, que para conectar vb con mysql debes tener instalado un ODBC que lo consigues aqi en la pagina oficial del mysql.
    luego de instalarlo entrar por panel de control y configuar una cosita y listo de ai en adelante puedes seguir este articulo sin q te de ningun problema (en teoria).



    hay q añadir a este articulo, que si queremos tener acceso remoto a mysql por ejemplo desde otra maqina, debemos habilitar el puerto 3306 por defecto para tener acceso a esa base de datos y habilitar un usuario, para ese acceso ¿como se hace eso? bueno para los q tienen mysql con window busquen el archivo my.cnf de la carpeta mysql, o en windows/my.cnf y busquen la opcion #port=3306 y qitenle el # porque eso hace q sea comentario y luego busquen bind-address = 127.0.0.1 y coloquen esa linea en comentario y #bind-address = 127.0.0.1

    guarden los cambios y reinicien el mysql y listo! xD

    ahora en ves de colocar servidor.text="localhost" cmo aparece en este articulo:

    cadena_conexion = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=" & servidor & "; DATABASE=" & base_de_datos & " ;PWD=" & password & "; UID=" & usuario & ";OPTION=3"

    colocamos la ip de la maqina en donde esta mysql algo asi:

    servidor.text="190.37.210.18"
    cadena_conexion = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=" & servidor & "; DATABASE=" & base_de_datos & " ;PWD=" & password & "; UID=" & usuario & ";OPTION=3"

    de esta manera podremos accesar remotamente, desde otra maqina tanto por red local cmo por internet imagina todo lo q pudes hacer con esto :).

    bueno saludos, solo queria complementar un poco este buen tutorial..

    tambien te recomiendo algo q tengo por hay relacionado y muy bueno te ayudara mucho:
    www.tutorialesluisviera.8m.com



  15. Hola amigos como estan Les Saluda Luis de Lima Perú.
    Mi Consulta es la siguiente
    Como podria conectarme con Basic con Sql
    Sabiendo q tengo sucursales a nivel Perú
    Cuento Con Un Server.

    Estoy terminando un Sistema Integral
    y solo me Falta ese pequeño detalle
    espero m,e ayuden Gracias
    LEs Dejko Mi Mail Programador_basic@yahoo.es



  16. hola estoy acostumbrada a trabajar con bd access y oracle, nunca lo he hecho con mysql, la cuestion es la siguiente, a la hora de programar en VB yo suelo utilizar un adodc. ¿Se puede utilizar de esta forma con mysql? Un colega me comento q ellos utilizan un dataenviroment, no se cual de las dos maneras es mas comoda y efectiva. Gracias



  17. Prueben a configurar una "DNS DE SISTEMA" no una "DNS DE USUARIO", el mismo driver les dirá si se puede conectar al sistema o no
    creen un usuario en mysql, deberán especificarle que el usuario se puede conectar desde fuera del server, por defecto lo crea con privilegios solo en local, si usais el phpmyadmin, en servidor poneis: "%"



  18. Buenas, soy un joven programador volcado en su proyecto de fin de estudios y he pensado que para hacer más vistoso el proyecto voy a introducir imágenes tanto en la base de datos como en el programa en VB.NET, me gustaría que cuando seleccionases un row del datagridview te cargara una imagen en algún sitio o saliera una ventana flotante con la imagen del artículo en cuestión. Sabeis como puedo guardar imágenes en la base de datos? Y luego acceder a ellas mediante VB.NET? Muchas gracias!!!!



  19. mira para guardas imagenes creo que debes pasarlas a numeros binarios o algo asi, soy nueva en esto hay una pagina que te ayudara es: http://programacion.net/bbdd/articulo/php_imagenesmysql/
    a ver si te ayuada, mi problema es que no puedo conectarme a la base de datos alguna recomendacion es buena gracias...



  20. Hola trabajo con windows, me sale un error en la linea: For Each tabla In db.rdoTables y me dice que: "Se requiere un objeto". A ver si alguien me puede hechar una mano. Gracias.



  21. me aparece un error en For Each tabla in db.rdoTables me podrian decir por que como soy novato no tengomucha experiencia con bases de datos



  22. hola tambien tengo problemas con Set db = New rdoConnection error 429. Ojala me puedan ayudar



  23. Tengo una consulta. Cuan seguro queda guardado el password? Alguien puede leer el software que compilé para obtener la clave (y luego tener acceso total a mi bd)? o alguien puede leer el query con la clave que envía a través de la red cada vez que se conecta?

    gracias



  24. alguien que sepa manipular la base de datos de mysql desde visual basic como por ejemplo, agregar, eliminar, buscar... porfa q coloque el código de los comandos. por fa



  25. saludos
    me he bajado vuestro ejempro y me da el error 424 "se necesita objeto) en esta línea
    For Each tabla In db.rdoTables
    tablas.AddItem tabla.Name
    hay_tablas = True
    Next
    ¿me podriais decir a que es debido?
    gracias
    una saludo



  26. saludos,
    me chocado con un inconveniente, cuando quiero agregar un registro utilizo el ADDNEW y el UPDATE para grabarlo, pero al terminar de hacer esa operacion e ir a ver el registro agregado no aparece, solo aparece cuando cierro y vuelvo a abrir la conexion, a que se debe eso me falta algun comando??? gracias por el comentario a mi consulta

    carlos

    PD: hago la conexion de VB6.0 a MYSQL



  27. Me pasa lo mismo que al anterior.

    me da el error 424 "se necesita objeto) en esta línea
    For Each tabla In db.rdoTables
    tablas.AddItem tabla.Name
    hay_tablas = True
    Next
    ¿me podriais decir a que es debido?

    Muchas gracias!



  28. Hola que tal, solo escribo para pedir de favor si me puedes enviar por correo la "Aplicacion de Ejemplo" ya que la descargo y todo pero cuando la habro en VB me genera un error que no se a podido cargar todo yq eu hace falta un FORM, si me gustaria que me la enviaras ya que esta muy interesante como esta la imagen de conexion, de ante mano muchas gracias este es mi correo kenax_christian@hotmail.com



  29. Me pasa igual que a los anteriores, me da error 424, porfavor alguien podria ilustrarnos?? esque veo que aun no se soluciono, gracias!!



  30. buenas, cuando me quiero conectar me sale el error -2147467259 acces denied for user "usuario"@ y aqui en vez de figurar la base de datos que le indico, sale el host q telecom me brinda. Alquien podria decirme como modificar ese valor. Gracias



  31. Para los del error 424, probad esto:

    cadena_conexion = "DRIVER={MySQL ODBC 3.51 Driver};"
    cadena_conexion = cadena_conexion & "SERVER=" & servidor & ";"
    cadena_conexion = cadena_conexion & "DATABASE=" & base_de_datos & ";"
    cadena_conexion = cadena_conexion & "USER=" & usuario & ";"
    cadena_conexion = cadena_conexion & "PASSWORD=" & password & ";"
    cadena_conexion = cadena_conexion & "OPTION=3;"

    Espero que os sirva. Saludos



  32. Hola, el error 424 ("se requiere un objeto") para algunos puede estar en una parte de la cadena de conexión.
    Buscad (CTRL-F) esta cadena en el código: "PWD"
    Justo antes hay un punto y coma, y antes del punto y coma, un espacio.
    Pues ese espacio sobra.

    Saludos



  33. Lo siento, fui leyendo a trozos.
    Christian, si lees esto, prueba a hacer lo siguiente:

    1.- Renombra el archivo vbmysql.vbp a vbmysql.vbp.txt
    2.- Haz click en él.
    3.- En la línea 4 pone "FORM=..."
    4.- Cambia la ruta que pone, por la ruta donde los has descomprimido (ej: c:proyectosvb estvbmysql) dejando sólo el nombre del archivo, quedando la línea así:

    UNIDAD:
    utadondeestéelarchivoahoraFRM_PR~1.FRM

    5.- Guarda el archivo.
    6.- Renómbralo a vbmysql.vbp

    Y ya...


    Form=D:Apachewebscasa.vengava.comworkswww.ilusionlive.esvbvbmysqlFRM_PR~1.FRM



  34. Perdón por el spam, sólo intento ayudar ;)

    Se ha comido los backslashes o barras invertidas.
    Christian, a ver si así te puedo poner un ejemplo de como quedaría la ruta:

    Form=C:\la\carpeta\donde\lo\tengas\ahora\vbmysql\FRM_PR~1.FRM

    Si no sale bien, supongo que ahora entienderás como se hace.



  35. como soluciono el error 429



  36. Me pasa lo mismo que al anterior.

    me da el error 424 "se necesita objeto) en esta línea
    For Each tabla In db.rdoTables
    tablas.AddItem tabla.Name
    hay_tablas = True
    Next
    ¿me podriais decir a que es debido?

    Muchas gracias!



  37. Hola a todos, alguien me puede decir como hago a la hora de empacar una aplicación vb 6.0+mysql se lleve los driver y lo instale en la pc que yo instale el software...

    por favor una ayuda urgente



  38. Hola a todos, no habra algun codigo para ver los datos de una base mysql a traves de vb remotamente?



  39. Alguien me puede pasar el codigo para insertar y7o actualizar una bd de mysql atraves de visual basic 6.
    Gracias.



  40. Hola a todos, yo ya desde hace un buen me conecto a MySQL desde VB, ahora , lo que yo quiero hacer es crear una base de datos inexistente, es decir, yo ya tengo el diseño de una base de datos, las instrucciones SQl para cerarla con todo y sus tablas, la base de datos no existe en el servidor MySQL, yo quiero conectarme al servidor en tiempo de ejcución y ejecutar las sentencias SQl para crear la BD con sus tablas, que logicamente estaran vacias.

    despues ya registraria un DSN a través de codigo hacia la base de datos que acabo de crear (ya puedo hacerlo), me conectaria a ese DSN via RDO.

    ¿Alqguien me puede ayudar?, por favor, ayuda...



  41. espero esten bien
    les escribo porque logre conectarme a la base de datos pero quisiera agregar, eliminar y modificar registros a la base de datos conectada

    espero pronta respuestas

    gracias



  42. Hola, ya me baje el controlador 3.51 de la pagina de mysql ya configure el origen de datos DSN, pero ke mas sigue? abro el visual basic y como hago referencia a la base de datos que e configurado con el controlador?

    hay que especificar algo mas en las referencias del proyecto?

    perdon soy novato.



  43. Amigos hola como estan porfavor quiziera que me manden un proyecto de muestra de como conectarme a una base de datos via internet mediante visual basic 6 con rdo a una base de datos mysql estoy un poco frio deje de estudiar hace 3 años me quede en adod con acces nunca vi rdo con mysql ahora tengo la oportunidad en una chamba que me han planteado configurar todo un sistema en diferentes puntos surquillo san isidro comas soy loco visual foxpro y visual basic pero justo cuando iba ha ver esa nota de connectarme via internet interrumpi mis estudios por favor ayuda......s.o.s.



  44. Juan carlos,
    con gusto te tiro un línea de como conectarte via internet. No es complidado solo tienes que seguir los pasos justos.
    .Crear no-ip o dyn-dns para asegurar el ip fijo en el sergidor de datos remoto.
    .En servidor instalar apache o mas sencillo appserv que trae el apache y mysql.
    .Instalar controlador odbc para comuniocación visual basic - mysql. Lo bajas directo del mysql.org.
    . Conexión a la base
    cmbDatabase = "mibase"

    STRCNN = "DRIVER={MySQL ODBC 3.51 Driver};" _
    & "user=" & xusr _
    & ";password=" & xpass _
    & ";database=" & cmbDatabase _
    & ";server=" & xhost _
    & ";option=" & (1 + 2 + 8 + 32 + 2048 + 16384)

    donde xusr es el usuario, xpass es la clave de usuario, cmdDatabase el nombre de la base, y xhost es la ruta ip. ej: www.mi-ip-fijo.no-ip.org
    (no-ip y dyn-dns son servicios gratuitos si lo usamos en forma básica, recomendables y seguros)

    Bien el línea general.... sería esto. Cualquier cosa avisame.
    Saludos, Alfredo
    niederer@internet.com.uy



  45. Lo mismo me pasa con el error 424, y ya le quite los espacios que habian, pero igual sale error



  46. soy tsu en informatica quisiera trabajar en vb com mysql, no se codificar en ella,digame como se lo agradeceria muchos



  47. hola que tal, soy nuevo en vb y tengo una duda, seria posible que de una tabla que tengo en mysql pudiera jalar un registro en especifico y colocarlo en la celda que yo quiera?? por ejemplo: de mi tabla jalo el dato del campo horas y quiero que se inserte en la celda A4, en la celda g6 que se inserte nombre, y asi mas o menos. es posible????
    de antemano muchas gracias



  48. A todos los que le da el error 424, la solucion es la siguiente, en la linea de conexion esta asi:

    " ;PWD=" (Notese que despues de la 1ra doble comilla hay un espacio en blanco, quitenselo)

    Debe quedar asi en esa parte:

    ";PWD=" (Listo!)

  49. luis octavio rodriguez reyes:
    Viernes 28 de Setiembre de 2007 a las 13:32hs


    Ya termine mi aplicacion en visual basic 6.0 + mysql, ahora necesito enpaquetar esa aplicacion. Como le hago para que me instale el mysql al mismo tiempo.



  50. Hola a todos:
    Hace tiempo hice un programa en Visual Basic ocupando MySql como base de datos, resulta que hice todo lo que encotre en los manuales y de hecho resulto muy bien, pude hacer consultas, insertar registros crear tablas, y crear la la estructura completa de mi base de datos en MySql desde Visual Basic.
    El problema sucedio cuando quise intalar mi programa en otro computador, al prinsipio no hubo problema me podia conectar a la base de datos y hacer consultas pero cuando la la cantidad de resgistros que obtenia despues de hacer una consulta sobrepasa una catidad por ejemplo de 30 datos el programa se cae y Window me arroja un error y hace referencial al dll MSRDO20.DLL que hace la coneccion entre VB y MySql, lo he provado en varios coputadores que poseen la misma version de window que tiene mi computador, he copiado esta dll desde mi Computador a los demas computadores y la he registrado pero no se soluciona el problema, he revisado cada parte de codigo y me atrevo a decir que no es el problema.
    Lo "misterioso" de esto es que el programa funciona pero solo en mi computador,

    Si alguen me puede ayudar lo agadeceria mucho, le ha pasado alguna vez a ustedes al parecido, Agradeceria mucho cualquier comentario.

    Saludos ha todos



  51. No me sirvio si alguien sabe como conectarme recibo ayuda.



  52. Esteban Ruiz Says:

    October 5th, 2007 at 8:12 pm
    Hola a todos

    Si ha alguen le interesa ya encontre la solucion. El problema estaba con el conector ODBC de MySql yo estaba trabajando con el 3.51.16 y cuando lo hice correr el programa en otro equipo ocupe el conector ODBC 3.51.17 Luego intale el 3.51.20 y se soluciono el problema al parecer el conector 3.51.17 produjo el error.
    Otra cosa mas deben tener cuidado cando definen en MySql una columna del tipo DECIMAL suele producir problemas cuando trabajas con VB, ya que no te entrega todos los decimales



  53. Saludos a todos. Quiero aprender a usar mysql con visual basic 6.0.



  54. saludos a todos soy novato en esto de enlasarme con la base de datos nunca lo hice me gustaria aprender, tube hace 3 años un curso de visual basic pero solo me enlasava con el acces mediante el ado pero no se como hacer con sql les agradeceria me den una ayuda mi correo es juancarlosyepezc@hotmail.com



  55. Hola a todos, tengo el problema del error 429, alguine sabe como solucionarlo.

    saludos.



  56. Hola el error 424 no se soluciona con el espacio, hay otra forma de solucionarlo.



  57. Aquí esta por fin la solución definitiva al famoso problema 424.....
    Lo único que tienen que hacer es entrar al siguiente link: http://www.mysql.org/
    Ir a “Productos” -> “Drivers” y bajar el ODBC de MySQL para su respectivo sistema operativo…. Instalarlo y ahora si a correr el programita….

    Saludos.



  58. Pasos que debes hacer para conectar MYSQL de una forma muy sencilla:

    Te recomiendo seguir los pasos al pie de la letra y en orden cronológico ya que uno se relaciona con el otro.-
    Para hacer este proyecto no se escribe ni una sola línea de código, es lo básico para que comprendas y veas las posibilidades de ADO con Mysql y los pasos que tenes que seguir. Para utilizar una aplicación más funcional probablemente tengas que hacer todo esto con código. Pero te puedo asegurar que muchas veces no hace falta. Tan solo un poco de ingenio como en este caso y listo.-


    1. En primer lugar tenés que bajar como veo que has hecho MYSQL 5,
    2. En segundo lugar te recomiendo bajar también MYSQL GUI TOOLS 5.0 en la misma pagina de MYSQL
    Luego de instalar GUI TOOLS fíjate que se instala una herramienta que es muy útil para administrar mysql y probar las conexiones. Esta herramienta es MYSQL ADMINISTRATOR. Si al iniciar esta herramienta, luego de colocar la contraseña y el usuario, debería arrancar bien. En caso de que este no te deje entrar al administrador colocá el error que te salga en google a fin de determinar cual es el problema.
    3. Una vez que ya sabes que tu maquina se conecta bien a la base de datos, (porque lo pudiste comprobar con el administrador) el siguiente paso sería descargar MYODBC
    4. Luego de que ya instalaste, MYODBC. Crea una base de datos en ACCESS, ponele una tabla y llenalos con dos o tres datos. Ejemplo tabla: “agenda” campos “nombre” y otro “teléfono” luego ponele dos o tres nombres con sus teléfonos.-
    5. Luego de haber creado la base de datos en ACCESS tendrías que convertirla a MYSQL con una de las herramientas que viene en GUI TOOLS, que se llama MYSQL MIGRATION TOOLKIT, inicia la aplicación y migra la base de datos con los pasos que te da el programa que son totalmente intuitivos. (igualmente si no te sale mandame un mail que te explico, pero te digo, que es lo más fácil que hay).-
    6. Una vez que ya migraste la base de datos fijate de ingresar en MYSQL ADMINSTRATOR y fijate que se halla migrado bien. Luego fijate que en uno de las funciones le das privilegios a la base de datos. Para no complicarte la vida dale todos los privilegios que tenga.-
    7. Bueno una vez que ya tenés una base de datos andando tenemos que hacer una referencia ODBC con MYODBC.-
    8. para ello vas a panel de control; herramientas administrativas; Origenes de datos MYODBC, luego ahí tenés que ir al boton que dice add , (yo lo tengo en ingles y dice add, fijate cual se adecua a tu sistema según el idioma.-
    9. Te va a aparecer una pantalla en la cual vas a poder elegir el driver para comunicarte, fijate que abajo probablemente encuentres el MYODBC, si no esta es porque se instalo mal o algo por el estilo, (igualmente siempre aparece, nunca vi que brille por su ausencia), luego de elegirlo pones finalizar y te va a aparecer un formulario de myodbc para ingresar los datos de tu base de datos MYSQL
    10. Donde dice data source name tenés que poner el nombre con el que querés que los programas que usen concexión de tipo ADO la puedan ver con ese nombre que le elegis, que va a hacer las veces de sobrenombre de la base que vas a conectar.-
    11. en donde dice Server tendrias que escribir si estás en una maquina local “localhost” obviamente sin las comillas si es una maquina remota pone la dirección IP. Siempre recorda que como se comunica a través de puertos tenés que tener los firewall o bien configurados o desactivado, eso incluye también antivirus como Norton que se meten en todos lados y no te dejan vivir.-
    12. luego pone el usuario al que le diste todos los privilegios de tu maquina, y junto con ello en donde dice password coloca la clave.
    13. Previo a intentar seleccionar una base de datos, selecciona la solapa de arriba la que dice Connect Options ahí coloca el nro de puerto 3306 que es el que viene por default
    14. luego anda a la solapa principal y cuando despliegues el listado de bases de datos tendría si todo a salido como corresponde verse la base de datos que creaste en access y migraste a mysql.(obviamente la seleccionas)
    15. Bueno una vez que tenés conectada la base de datos MYSQL a con MYODBC a un origen de datos ODBC vamos a VISUAL BASIC, hasta ahora todo esto no puede tomarte no mucho más de 5 minutos una vez que le agarras la mano.
    16. elegís un nuevo proyecto exe
    17. una vez dentro del proyecto vas a Proyecto, Componentes, y ahí selecciona para esta pequeña aplicación de prueba los siguientes componentes:
    a. Microsoft ADO Data Control 6.0 (o la versión más cercana)
    b. Microsoft Datagrid Control 6.0 o la versión más cercana
    18. Luego dibuja un datagrid y un control ADO
    19. luego hace clic derecho sobre el control ADO y luego andá a propiedades
    20. Vas a aparecer en la solapa GENERAL en ella elegi usar nombre de origen de datos ODBC
    21. luego de te posicionaste ahí elegí tu base de datos
    22. Luego anda a la solapa que dice Origen de registros
    23. ahí posicionate donde dice tipo de comando y elegi adCmdTable
    24. luego de ello se deberá habilitar el menú donde dice Tabla o nombre de precedimiento almacenado, ahí elegí la tabla que vas a usar
    25. Como ulitmo paso tenés que enlazar el datagrid con el control ado esto es muy facil, andá a la ventana de propiedades del datagrid y ahí fijate que hay una opción que dice DataSource y ahí elegi el control Adodc1
    26. presiona F5 y si aparecieron los datos de tu base………….bingo ahí estaría completo tu proyecto de prueba con mysql….

    Te cuento que todo esto se puede hacer a través de Internet lo cual lo hace re práctico.



    Suerte

    pfaranna@gmail.com



  59. Que tal? A ver si hay alguna persona que tenga los conocimientos para poder sacarme este problema de encima. Estoy usando VB 6.0 y Mysql 5. Tengo hehcho un datagrid el cual trae unos resultados de una consulta hecha previamente. lo que intento lograr es que dentro de ese datagrid uno pueda seleccionar la fila (o registro) y una vez seleccionada, que se pueda eliminar del datagrid y de la base de datos, por medio de un cmd_button... Alguien podria decirme como debo hacerlo? Desde ya Muchas Gracias! Saludos desde Argentina.



  60. Hola ya realize todos los pasos instale el driver 3.51, hice la referencia a remote data object 2.0, pero al momento de hacer click en conectar me sale el error 429, e visto unos pocos post arriba que tambien hacen alusion a este error, el error dice: El componente active X no puede crear el objeto.

    A que se debe esto? por favor si alguien sabe como puedo solucionar este problema se lo agredeceria mucho.

    saludos.



  61. hola tengo un problema he usado de base el codigo de aqui para algunos proyectos personales y han funcionado muy bien el problema que en el while not resultado.EOF cuando el resultado solo es de una fila no entraal while, alguien me puede ayudar a resolver este problema???



  62. Error solucionado, fueron problemas con mysql no con la programacion en visual si alguien de ustedes tiene dudas acerca de esto o algun otro tema chido_dark@hotmail.com es mi correo saludos



  63. Solucion 424. La cadena de conexión era el problema.

    cadena_conexion = "Driver={MySQL ODBC 3.51 Driver};Server=" & servidor & ";Port=3306;Option=131072;Stmt=;Database=" & base_de_datos & ";Uid=" & usuario & ";Pwd=" & password & ""

    A programar!!!!! Saludos. Gracias Por el tutorial....



  64. pues para soluciionar el error 424 lo que hace falta es la tabla llamada elgurudelprogramador, pues logicamente ese es el objeto que hace falta.......creenla por panel de control-herramientas administrativas-origenes de datos y listo se acabo el bendito error!!!!



  65. Cómo hacer para insertar los valores de los TextBox de mi formulario en Visual Basic 6.0 a mi tabla en MySQL, desde un botón ???....gracias.



  66. Hola Amigos.
    Estoy dando mis primeros pasos con mysql y me da el siguinete error al ejecutar vuestro ejemplo "El componente activex no puede crear el objeto" y apunta a esta linea de codigo: Set db = New rdoConnection.



  67. al del Error 40002, prueba borrar los espacios luego del nombre de tu base de datos, tuve el mismo problema y así fué que lo solucioné



  68. Y como hacerle para conectar MySQL desde VB.NET 2008?



  69. hola:

    todo lo anterior escrito me funciona, pero yo tengo otro tipo de problemas

    en un sistema que tengo visual- access y lo quiero migrara a visual -mysql
    cuando agrego registro de la forma:
    recordset.AdNew
    recordset!campo="Valor"
    recordset.update



  70. Hola,
    Tambien me salio el error 424, pero lo que pasaba es que había instalado la version del driver ODBC 5.1 y no la 3.51, así que modifique así:
    cadena_conexion = "DRIVER={MySQL ODBC 5.1 Driver};"

    Y ya funciona!!!



  71. Me muestra el sgte error
    error 429 en tiempo de Ejecucion
    El componente ActiveX no puede crear el objeto
    apunta a esta linea
    Set db = New rdoConnection.

    Como puedo solucionarlo?



  72. me gustaria ver si me pueden ayudar para ver de que manera puedo realizar una conexion desde visual basic 6 a una base de datos mysql y de saber si se necesita tener creada en el computador algun obdc y como puedo hacer eso.



  73. no se puede conectar en bv con mysql 60. sale error que necesito ayudenme



  74. hola Amigo:
    mi duda es la siguiente tengo una aplicacion en vb6.0 con Mysql 5.0 todo esta bien
    cuando se trabaja en el servidor con "localhost" pero si deseo conectarme con varios
    maquinas osea los clientes como lo haria amigo me puedes ayudar
    Cliente /Servidor VB6.0 con Mysql 5.0
    Gracias



  75. Buenos días,

    Eñ programita me saca un error, me dice en la línea:

    Set db = New rdoConnection

    dice que no puede crear el componente activex



  76. Hola, la verdad prefiero Visual Fox Pro para conectarme a cualquier base de datos es más potente y mucho más fácil de aprender, igual me llamo la atención el ejemplo y lo hice con el Visual Basic 6.0, funciono perfecto solo deben tener cuidado con la base de datos, user y password para que funcione todo bien.
    Si les interesa en http://softsol.webcindario.com hay un ejemplo con Visual Foxpro que puede utilizarse para MySql, Oracle, SQL Server, etc.

    Saludos desde Chile.

agregar comentario


Se permiten las etiquetas HTML <b>, <i> y <p>. Si ingresa alguna dirección web o dirección de email serán convertidos en enlaces automáticamente.





publicidad