[RESUELTO] Verificar conexion con BD Mysql

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO] Verificar conexion con BD Mysql

Notapor alsoor » Mié Sep 30, 2015 5:02 pm

Hola que tal queridos mentores pues una vez mas eme aquí con otra duda :roll:

El día de hoy acudo a ustedes ya que me gustaría saber de que forma puedo hacer que una macro me diga si hay conexión con la BD de Mysql leyendo el libro del buen Mau vi que en el apartado de Bases de Datos pone un pequeño código para saber si existe la tabla a la que se va enviar la consulta pero esto es con la BD registrada en openoffice creada con Basic, ya intente adaptar esa macro a la función que tengo para la conexión a la BD de Mysql pero no he logrado que me diga si el servidor esta disponible o no. Lo mas que he podido hacer es que me diga si el archivo de Basic, que sirve como interlocutor entre OpenOffice y Mysql, existe pero no doy a mas y me gustaría saber que ideas me pueden dar para encontrar la respuesta.

Bueno sin mas de antemano gracias que tengan lindo día (o noche) y nos seguimos leyendo :super:
Última edición por mauricio el Mié Oct 07, 2015 3:25 am, editado 2 veces en total
Razón: Marcar icono de resuelto
OpenOffice 4.1 en Windows 7 32 bits
alsoor
 
Mensajes: 11
Registrado: Lun Ago 03, 2015 12:45 am

Re: Verificar conexion con BD Mysql

Notapor mauricio » Sab Oct 03, 2015 2:34 am

Estoy asumiendo que el archivo donde corres esta macro, esta en el mismo directorio donde tienes el archivo Base que enlaza a MySQL.
Código: Seleccionar todo   Expandir vistaContraer vista
Sub Test_Connection
   
   user = "mau"
   pass = "blades"
   db_name = "mySQL.odb"
   path_db = get_path(ThisComponent.URL, db_name)
   
   obj_dbc = createUnoService("com.sun.star.sdb.DatabaseContext")         
    db = obj_dbc.getByName(path_db)   
   
    On Error Goto not_access
    con = db.getConnection(user, pass)
   MsgBox "Conexión realizada"

Exit Sub
not_access:
   MsgBox "No se pudo conectar"
   
End Sub

Function get_path(path, file_name) As String
   parts = Split(path, "/")
   parts(UBound(parts)) = file_name
   get_path = Join(parts, "/")
End Function

también se asume que el error generado es de conexión, pero realmente cualquier error que ocurra al intentar conectarse será capturado.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5932
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: [RESUELTO] Verificar conexion con BD Mysql

Notapor alsoor » Mar Oct 06, 2015 9:21 pm

Gracias una vez mas Mauricio, el archivo de Base no se encuentra en la misma ubicación pero no fue difícil adaptar tu ejemplo a mi proyecto, ya había visto esta solucion en en las macros que vienen con el OpenOffice pero no comprendía muy bien hasta que vi tu ejemplo y le di una repasada a tu libro donde tratas el tema de los errores. :bravo:
OpenOffice 4.1 en Windows 7 32 bits
alsoor
 
Mensajes: 11
Registrado: Lun Ago 03, 2015 12:45 am


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 2 invitados