[RESUELTO] Verificar conexion con BD Mysql

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
alsoor
Mensajes: 11
Registrado: Lun Ago 03, 2015 12:45 am

[RESUELTO] Verificar conexion con BD Mysql

Mensaje por alsoor »

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
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Verificar conexion con BD Mysql

Mensaje por mauricio »

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

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
alsoor
Mensajes: 11
Registrado: Lun Ago 03, 2015 12:45 am

Re: [RESUELTO] Verificar conexion con BD Mysql

Mensaje por alsoor »

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
Responder