Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

[SOLUCIONADO] Conexion sin DSN Access 2010 y MySQL

Estas en el tema de Conexion sin DSN Access 2010 y MySQL en el foro de Bases de Datos General en Foros del Web. Bueno lo que quiero saber es si puedo hacer para MySQL este tipo de conexion sin necesidad de vincular tablas por DSN. Este codigo me ...
  #1 (permalink)  
Antiguo 04/09/2013, 13:57
Avatar de MainBoard  
Fecha de Ingreso: mayo-2012
Mensajes: 30
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta Conexion sin DSN Access 2010 y MySQL

Bueno lo que quiero saber es si puedo hacer para MySQL este tipo de conexion sin necesidad de vincular tablas por DSN. Este codigo me conecta a una Base de Datos en SQL Server. El front end esta en access 2010.

Private Sub Comando0_Click()
Dim conn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim strconn As String
strconn = "Driver={SQL Server};Description=sqldemo;SERVER=xxx.xxx.xxx.xxx ;UID=pcuellar;PWD=prncsa;DATABASE=Prueba"
Set conn = New ADODB.Connection
conn.Open (strconn)
Set RS = conn.Execute("SELECT Nombre FROM Cliente WHERE ClienteID='PCR02'")
Me.Etiqueta2.Caption = RS.Fields(0)
conn.Close
End Sub
  #2 (permalink)  
Antiguo 05/09/2013, 17:42
Avatar de MainBoard  
Fecha de Ingreso: mayo-2012
Mensajes: 30
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Conexion sin DSN Access 2010 y MySQL

Bueno en vista que esta vez no tuve suerte con esta pregunta en el foro, segui rebatiendo la red y di con la solucion que paso a compartir:

1.- instalar el controlador de MySQL ODBC que lo encontraras en la pagina oficial de MySQL: [URL="http://dev.mysql.com/downloads/connector/odbc/"]http://dev.mysql.com/downloads/connector/odbc/[/URL] tendras que registrarte gratis, si no deseas registrarte gratis busca por otro lado el instalador, esta solucion esta con la version 5.2.5.
2.- Luego de descargar el archivo, instalas (un archivo .bat, la instalacion casi ni se nota).
3.- no necesitas hacer nada mas en la maquina cliente.
4.- coloca la siguiente cadena de conexion donde vas a ejecutar la conexion:

strconn = "Driver={MySQL ODBC 5.2(w) Driver};Server=000.000.000.000;Port=3306;Database= DBase;User=usuario;Password=pass;Option=3;"

Si se fijan en el codigo que hice con mi pregunta no ha cambiado gran cosa la esencia sigue siendo la misma. Explicando: Server= IP del servidor, Port (puedes especificar si no es el default 3306, si es el default puedes omitir ese parametro, Database = nombre de la base de datos a la cual nos conectaremos, User=el usuario ya sea root o cualquier otro que no hayan dado con los permisos suficientes para acceder a la BD, Password= obviamente el pass del usuario, Option= no se por que?.

Listo con esto nuestro programa casi podra conectarse a la Base de Datos alojada en un servidor con MySQL, pero por que digo casi por que necesitamos hacer otros pasos en el servidor osea dar permisos de conexion remota.

Bueno vamos terminando, mi MySQL esta instalado en Ubuntu 12.04 no es server es solo para prueba, entramos por consola:

>mysql -u usuario -p (y damos enter)
>contraseña: (escribimos la contraseña del usuario y damos enter)
aclarando el usuario puede ser root o el que nos hayan dado con los privilegios suficientes para dar los mismo a otros.

mysql>GRANT ALL PRIVILEGES *.* TO usuario@"%" IDENTIFIED BY contraseña;

*.* = con esto decimos que el usuario se podra conectar a todas las bases de datos manejadas por MySQL en el servidor (podemos poner el nombre de la base de datos que desamos que se conecte el servidor).
"%" = con esto decimos que cualquier direcion IP podra ser admitida en la conexion entrante (todavia no se como porner un rango de direcciones, en vez de % puedes poner la direccion IP de la maquina cliente que se conectara).
usuario= puede ser inclusive el mismo root u otro usario que hayamos creado repito con los privilegios suficientes para una conexion.
contraseña= obviamente su contraseña respectiva

Y bien con esto seria todo ya podemos hacer prueba de conexion y accesso a datos en la Base deseada.

Última edición por MainBoard; 05/09/2013 a las 17:45 Razón: no se ve el hipervinculo

Etiquetas: access, conexion, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:24.