Página 1 de 1

[RESUELTO] Verificar conexion con BD Mysql

Publicado: Mié Sep 30, 2015 5:02 pm
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:

Re: Verificar conexion con BD Mysql

Publicado: Sab Oct 03, 2015 2:34 am
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

Re: [RESUELTO] Verificar conexion con BD Mysql

Publicado: Mar Oct 06, 2015 9:21 pm
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: