Saltar al contenido

Conectar Excel de varias PC a una misma base de MySQL


Recommended Posts

publicado

Hola a todos, tengo 2 PC con Windows 7 de 32 bits y Excel 2010 y MySQL 6.2. A estos 2 equipos ya le instalamos los conectores "mysql-connector-odbc-3.51.30-win32.msi" y "mysql-connector-odbc-5.1.13-win32.msi" (instalé 2 para ver cuál me funcionaba). He conectado Excel con MySQL dentro de la misma PC, es decir, con la base de MySQL que se encuentra en la misma computadora donde hice la conexión (localhost), pero no lo he logrado de una PC a la otra PC. Debo decir que tengo conocimientos muy básicos de MySQL y redes. Lo que pretendo es conectar mi Excel con la base de MySQL de la otra PC para traer una tabla, hacer modificaciones y regresarla a MySQL, todo esto mediante Excel VBA. He buscado códigos en internet y no he logrado adaptarlos a mi necesitad.


No hay error cuando usamos MySql que tenemos en nuestro mismo equipo:
MiServidor = "localhost"

El error es al tratar de indicar el IP de el otro equipo:    
MiServidor = "10.200.XXX.XX"


Sub ExcelMySql20160921()
    'variable para la conexión
    Dim Conexion As New ADODB.Connection
    'idem para el nombre del servidor en este caso estoy empleando una versión en local
    Dim MiServidor As String
    'ahora la base de datos en este caso se llama directorio y la tabla example
    Dim Dd As String
    'variables para usuario y contraseña (no la creo porque no la tengo en el servidor, en otro caso hay que crearla
    Dim User As String
    'variables para la tabla que tiene sólo tres campos
    Dim i As Long, Tabla, Nombre, Edad, Consulta As String
    'el Recordset
    Dim rs As ADODB.Recordset
    '———————————————————————-
    'Estableciendo la conexión
    '———————————————————————-
    MiServidor = "10.200.XXX.XX"
    Db = "northwind"
    User = "root"
    Set Conexion = New ADODB.Connection ' con esto utilizamos la conexión indicada más arriba
    Conexion.Open "DRIVER={MySQL ODBC 5.1 Driver}" & _
                 ";SERVER=" & MiServidor & _
                 ";DATABASE=" & Db & _
                 ";UID=" & User & _
                 ";OPTION=1"

    Set rs = New ADODB.Recordset
    Consulta = "SELECT * FROM example"
      rs.Open Consulta, Conexion, adOpenStatic
      With Worksheets(1).Cells
       .ClearContents
       .CopyFromRecordset rs
      End With

    'Cerramos la conexión
    On Error Resume Next
    rs.Close
    Set rs = Nothing
    Conexion.Close
    Set Conexion = Nothing
    On Error GoTo 0

End Sub


Indicando en el codigo cualquiera de los dos drivers que tenemos instalados el error da igual:

"Se ha producido el error '-2147467259(80004005)' en tiempo de ejecucion: 
[MySql][ODBC 3.51]Host 'mc2530003dc0404' is not alluwed to connect this MySql server

Tenemos instalados los dos drivers y con los dos lo intentamos, los corroboramos en esta ruta:

Panel de control\Todos los elementos de Panel de control\Herramientas administrativas\Orígenes de datos ODBC\Controladores
MySQL ODBC 3.51 Driver
MySQL ODBC 5.1 Driver

 

Muchas gracias por el apoyo.

publicado

si quieres saltar la "obligación" de manejar la base de datos en local, prueba a modificar el archivo de configuración (*.cnf)

mira por aquí

saludos,

hector.

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.