Conectando a un servidor mysql desde visual basic

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

Mumbanet-google

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. Me gusta usar con MySQL - herramienta gratuita de Valentina Studio, hace todo lo que necesito, y lo hace muy bien http://www.valentina-db.com/en/valentina-studio-overview



  2. Muy Buen dia y felicitaciones por tu pagina.

    Amigo la pregunta es la siguiente.

    ¿Puedo conectar una aplicacion (VB6) con una Base de datos en un servidor WEB usando ADO?

    Yo tengo un programa que usa una DB de Access y la quiero colocar en un servidor para poder usar la aplicacion desde dos sitios diferentes.

    Gracias



  3. BUENO MANADA DE HIJOS DE PUTA O ME DICEN COMO CONECTO VB10 ENTIENDAN BIEN DIEZ!! CON MYSQL O LES MUCHO LOS HUEVOS.

    Saludos- Jose David- Ingeniero Electricista.



  4. a very successful site. Also very revealing article. Thanks to the contributors.



  5. Y si en lugar del listbox quisiera poner los datos en un datagrid, es posible? cómo le hago para pasar lo de rdoresultset a un datagrid?? alguien sabe? thnx



  6. Hola, el post sobre la Conectando a un servidor mysql desde visual basic esta de 10, pero los molesto con una pregunta...... ya modifique el programa y lo ejecuto en el servidor local que tenemos de mysql la version de odbc que usamos es 5.1 y corre a las mil maravillas, Versión del servidor: 5.0.45-community-nt-log, el problema es que tenemos un servidor en internet y el programa me tira el error 424 donde me solicita un objeto, comento que la version de mysql que esta en internet es 5.0.45 y no me conecta, ¿podrian ayudarme GRACIAS? mi correo: isc_vega@hotmail.com



  7. thanks for



  8. si alguein sabe como solucionar lo del error 424, POR FAVOR HAGANLO SABER PERO DE UNA MANERA CLARA, trabajo con visual 6 y Mysql 0.5. jhonja23@hotmail.com



  9. nada con el error 424



  10. OTRA SOLUCION AL ERROR 424: Si quitaron el espacio que mencionaron antes del punto y coma y el error continua, si ya descargaron e instalaron el controlador ODBC para MySQL y el error persiste es porque el controlador que bajaron es seguramente una versión mas ACTUAL y no la 3.51. Ese ejemplo es solo para la version 3.51. Para solucionarlo reemplacen en la cadena de conexión la versión del driver, por ejemplo, para la versión actual el driver debería ser: DRIVER={MySQL ODBC 5.1 Driver};

    Espero que les sirva. Saludos



  11. JULIAN!!!!!!, averiguaste que libreria instala el visual basic 2008 express??????.
    Cualquier cosa mandame un mail a ventasjcl@hotmail.com.
    GRacias!!!!



  12. Estimados:
    luego de buscar y buscar encontré la solución. Un poco rustica: tuve que instalar el Visual Basic 2008 Express. Lo pueden descargar de http://www.microsoft.com/express/download/
    Al parecer carga algún componente que le sirve al VB6. Luego de la instalación, inician el VB6 con esta aplicación y no tira más el famoso error 429...
    Espero les sirva!!! Saludos.



  13. amigo ya probe todo pero me sigue ese error 424. baje los driver, quite los espacios, hice todo y me sigue el error



  14. Revisa los puertos, la ruta en el codigo algo debe haberse cambiado



  15. Hola, tengo una consulta ojala alguien me pueda ayudar, tengo un sistema el servidor esta en linux, y los teminales en windows, uso el VB6.0 y conecto a la bd MySql en mi servidor mediante el ODBC 3.51, todo funciona a la perfeccion, mi consulta es la siguiente, tenia una maquina en linux y le di formato, le instale el windows, el VB el controlador odbc y crystal report, y cuando voy a ejecutar mi programa sale que no se encontro el origen de datos ni controlador especificado(le he esablecido un origen de datos en el DNS de sistema en PAnel de Control), pero solo es en esa maquina, en las demas todo esta ok. Alguien me puede ayudar a solucionar este problema



  16. Les comento que tienen q abrir el firewall x ambos lados uno por windows como comentaron y otro por linux (servidor) http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables alli hay un ejemplo para hacerlo mas facil vallan a etc/sysconfig/iptables y quitenle el # a la linea que dice -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 3306 -j ACCEPT , graben reinicien el servicio y listo con eso la conexion no rebotara el resto lo hacen mejor con ODBC y ADO pueden trabajar desde alaska si quieren e igual conectara su base de datos .

    Saludos



  17. Me aparece un error en la option


    Option Explicit

    Public WithEvents db As rdoConnection

    que no se ha sido definico por el tipo del usuario?

    que modifico..tengo la idea pero aun no puedo alguien que sepa!!



  18. BUen día.

    Esta herramienta permite realizar tareas de consulta solamente? o también puedo hacer inserciones y modificaciones a la db que me conecte?

    GRACIAS



  19. el programa se conecta bien con la base de datos y puedo visualizar correctamente las tablas, pero cuando hago click sobre una de ellas, se me cierra el vb, me aparece el famoso cartel de: Visual Basic a detectado un problema y debe cerrarse, y se me cierra todo.
    si ingreso a una tabla que no tiene datos, no pasa nada.
    a q puede deberse?



  20. hola como estan la verdad veo la conexion y es sencillo pero por favor me podrian dar los links de descarga de MySQL ODBC 3.51 Drivers y el mysql que da con esta concexion por fa si porque cuando ecuentro las descargar me salen error
    gracias
    willy



  21. Hola,

    Uso VB 6.0 y MYSQL, al momento de usar el componente ADODC1.

    tengo mi conexion por medio de un ODBC mysql con VB
    uso la siguiente linea de codigo para insertar un registro

    Adodc1.RecordSource = "insert into pagos (fecha,cantidad) values ( " + " + Text2.Text + " + ", + Text1.Text + );"

    ya lo revise, no existe ningun problema, pero no se ejecuta

    inmediatamente despues de esta linea q les comento pongo la linea
    Adodc1.Refresh

    cuando corre el programa, indica que el adodc1 esta cerrado PERO el registro ya fue insertado

    es decir, solo poniendo adodc1.refresh me inserta el registro pero me marca "Operation is not allowed when the object is closed" ¿pero a que hora se cerro?

    ojala aguien pueda apoyarme, mi correo es javitac@yahoo.com

    saludos



  22. al momento de querer insertar datos me sale error 424, tengo instalado el dreiver, ado y no se k onda?



  23. que pasos detallados debo seguir para probar el ejemplo que dan para descargar?



  24. Hola amin:
    Muchas gracias. Al final es lo que terminé haciendo, y así ya no existe ese problema.
    Gracias por tu ayuda.
    Un saludo.



  25. bueno muchisimas gracias por brindarnos esta informacion

    ahora sabemos como hacerlo bien gracias

    salu2



  26. En donde dice Servidor MySQL y en el ejemplo dice Localhost. Yo quiero hacer una aplicacion que tome una base mysql que tengo en un servidor que no es mio, y la aplicacion correria desde mi pc que no es el localhost, que deberia poner en este campo?
    Gracias.



  27. jose francisco
    una opcion que utilize debido a que me pasaba lo mismo con una funcion fue que rescataba, antes de que entrara ala condicion, en una variable el valor de, en tu caso: c_Direccion
    saludos



  28. Hola, Creo la conexion DSN desde el panel de control de Windows en Herramientas administrativas, obviamente una vez instalado el Controlador ODBC, luego en mi proyecto de VB 6, para referirme a la conexion lo hago asi, DIM Conexion as new Adodb.connection
    Conexion.open "DSN=NOMBRECONEXION", RECUERDEN CREAR LAS REFERENCIAS PERTINENTES PARA EL PROYECTO



  29. Tengo un problemilla con mi aplicación en vb6, conectada con mysql. Resulta que en este trozo de código:

    If IsNull(rs!c_Direccion) = False Then
    txt_Dir.Text = rs!c_Direccion
    End If

    Al ejecutar la función "isnull" me borra el contenido de c_Dirección, y entonces cuando va a pasar su contenido a txt_Dir, lo encuentra como vacío, y me da error de querer pasar un valor nulo a una caja de texto.

    ¿Alguien sabe qué le puede pasar?

    Muchas gracias por adelantado



  30. HÓLA AMIGOS COMO ANDAN CHICOS DE LA MATAMBRE MOSCA LES QUERÍA CONTAR QUE LA RETE QUIERO A MARIANA ELÍZABETH ESPÓSITO Y LA QUIERO RÉTEÁRTO ES UN VERDADERO ANGEL BUENO LES HALU CORDIAL Y ATENTAMENTE YÓ SOY YÓ..............



  31. Tengo un proyecto de vb + mysql... esta funcionando en 4 maquinas hace unos dias dejo de funcionar en una de ellas y al querer ejecutarlo me sale el error que no se puede conectar con el servidor (ip)...... y al final 10061..... la maquina tiene internet, tiene acceso a todo lo unico que le falla es eso que pueda ser ?? en las demás está funcionando perfectamente.



  32. Solo descargue el driver y ya corre a la perfeccion no importan los espacios despues de cada ; por la solucion q daban de el espacio antes del PWD y solo hay que poner una base de datos que ya tengamos creada.
    agradesco los comentarios me sirvieron de mucho



  33. Error 424->
    Yo tambien tenía el problema y lo he solucionado como pone. En la página de mysql he instalado el ODBC de mysql 3,5x y funciona ok.
    Muchas gracias a todos por la ayuda. Salu2



  34. listo
    a los ke les da el error 424 aki les va un consejo
    primero ke nada serciorense de tener el controlador adecuado para su sistema operativo: http://www.mysql.org/ ir a “Productos”>>>>“Drivers” y debes de bajar el ODBC de MySQL e instalarlo tal y como lo dice Roberto Q. despues tambien deberian de checar las comillas " ;PWD=" kitar el espacio en blanco y keadar asi ";PWD=" y lo ultimo ke realice fue realizar la tabla llamada elgurudelprogramador debido a ke no la tenemos en. se puede crear en "panel de control">>>>"herramientas administrativas">>>>"origenes de datos" o tambien puedes crear tu tabla alli mismo,
    espero les ayude mi experiencia
    saludos



  35. perdon... la linea es:

    "For Each tabla In db.rdoTables"

    disculpas



  36. gracias amigo
    pero sigo teniendo el error 424 en la linea
    http://www.solotuweb.com/fs~id~10402.html
    les agradeceria mucho su ayuda
    un saludo



  37. para Admin cazares:

    Eso va despues de asignarle valores a las variables: servidor, base_de_datos, usuario, password; y antes de establecer la conexion.



  38. hola a todos
    vengava dio esta solucion para los del problema 424

    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;"
    mi pregunta es
    ¿donde va ese codigo?



  39. Todos estan mal les Sale el Error 424 porque no han activado la Referencia Microsoft Remote Objects, no tiene nada que ver con los espacion.



  40. Baje el ODBC para windows XP y trato de conectarme pero me sale el error 424

    alguien tiene el ejmplo que me lo pase a mi correo



  41. Saludos, intente hacer el ejemplo como dice aqui, pero tengo algunos problemillas, espero que puedan ayudarme, hice lo de las referencias y todo, mi duda es que en que parte debe ir el codigo que sigue cuando ya se le ha asignado al boton de conectar, lo que hace las consultas y eso? al parecer hasta donde hace la conexion todo va bien, puse un MsgBox para que me diga si se conecto a la BD y al parecer si, pero lo demas del codigo no se donde va y pues me manda errores de que esta doblemente declarada una variable. de antemano gracias.



  42. Saludos, como estan
    gracias por lo de cambiar el nombre de la version en la linea de codigo:
    cadena_conexion = "DRIVER={MySQL ODBC 5.1 Driver --Version del Driver ODBC--};"

    me funciono, gracias.. solo que en algunas tablas cuando trato de ver el contenido da el siguiente error:
    runtime error 40002
    37000 tablarelacionada where 1 at line 1.

  43. Sergio Alfredo Segura Gómez:
    Sabado 04 de Octubre de 2008 a las 21:17hs


    ok, aqui les va lo del error 424

    primero, hay que descargar el odbc conector de la pagina de mysql, lo instalan y configuran en origenes odbc, bien, despues en el codigo cambian

    MySQL ODBC 3.51 Driver

    por

    MySQL ODBC x.xx Driver
    donde x.xx es la version del driver que descargaron e instalaron

    con respesto a el espacio en el nombre de la base de detos, si hay que quitarle un espacio al final.

    mmm creo que es todo, a mi me funciono.

    saludos y suerte



  44. Buen tutorial pero tng un problema, cuando ejecuto el formulario me sale un error me dice "se requiere un Objeto", porque me ocurre esto, bueno esta es la linea en la k se me ejecuta el error "For Each tabla In db.rdoTables" bueno espero una respuesta gracias x la molestia.



  45. Amigo como hacer para conectar el mysql con una aplicacion hecha en VB.net ? yo sólo lo he hecho en Sql Server, y de verdad mis conocimientos son vagos. Para conectarme en sql server tenia ya elaborado una clase en vb.net pero para mysql no sé un código para yo crear una clase y facilitar el uso constante de la base de datos.
    Gracias.



  46. hola me sale un error 424, requiere un odjeto
    me podrias colaborar



  47. Alguno encontro alguna solucion para el error 424, ya he probado todo lo indicado en el foro



  48. Alguno encontro alguna solucion para el error 424??????



  49. 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.



  50. 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



  51. 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



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



  53. 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.



  54. 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?



  55. 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!!!



  56. 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



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



  58. 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é



  59. 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.



  60. 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.



  61. 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!!!!



  62. 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....



  63. 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



  64. 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???



  65. 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.



  66. 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.



  67. 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



  68. 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.



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



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

    saludos.



  71. 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



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



  73. 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



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



  75. 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

  76. 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.



  77. 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!)



  78. 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



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



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



  81. 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



  82. 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.



  83. 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.



  84. 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



  85. 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...



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



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



  88. 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



  89. 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!



  90. como soluciono el error 429



  91. 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.



  92. 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



  93. 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



  94. 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



  95. 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



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



  97. 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



  98. 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!



  99. 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



  100. 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



  101. 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



  102. 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



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



  104. 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



  105. 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.



  106. 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...



  107. 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!!!!



  108. 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: "%"



  109. 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



  110. 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



  111. 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



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



  113. 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



  114. 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 ,,,



  115. 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



  116. 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



  117. 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



  118. 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



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



  120. 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



  121. 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



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



  123. VB 6.0



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

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

API DE FACEBOOK
GOOGLE CALENDAR API
GOOGLE MAPS API