Conectar una base de datos MySQL con LibreOffice

El objetivo es poder usar información que ya tengo almacenada en una base de datos MySQL (supongo que también es posible con MariaDB) y utilizar esa información en los programas de LibreOffice.

De todos los programas que aparecen en LibreOffice el que parece más abandonado es Base. Actualmente estoy haciendo algunos experimentos con LibreOffice y MySQL, pero no me están resultando tan sencillo como esperaba.

Lo primero: Instalar el conector JDBC.

Hasta donde tengo entendido, para establecer una conexión con una base de datos en LibreOffice hay dos caminos. Usar un ODBC que es muy común en la plataforma de windows o con un JDBC (Java Database Connectivity). Como lo quiero hacer mi trabajo en Linux elegí esta última.

JDBC descarga
Descargué el que dice: Plataforma independiente.

Sigan el siguiente enlace para descargar el Connector. Elegí el que dice Plataforma Independiente. El formato no importa mucho, a fin de cuentas el archivo lo van a descomprimir y Linux soporta fácilmente archivos tar.gz como archivos zip.

Una vez descargado, hay que descomprimir los archivos en la carpeta que ustedes prefieran (tomen nota). Con eso terminamos este primer paso.

Agregar la clase del conector.

Para agregar la clase del conector (sea lo que sea que esto signifique) hay que abrir cualquier aplicación de LibreOffice, por ejemplo Calc.

Luego ir al menú HerramientasOpciones…  después en donde dice Avanzado , presionar el botón que dice: Ruta de clase…

agregar clase a libreoffice
Agregando la clase del conector.

Y agregar el archivo mysql-connector-java-5.1.44-bin.jar que descomprimimos en el paso anterior.

Lograr esto me llevó un buen rato. He tenido que leer muchos sitios, algunas cosas no me funcionaban, otras si. El proceso no es muy intuitivo que digamos. Eso de tener que lidiar con Java (que es de todos conocido que no soy fan) me resulta tortuoso, pero en fin, es lo que hay.

Pues una vez agregada la clase del conector podemos configurar una conexión a una base de datos MySQL con Base y por lo tanto con LibreOffice.

Agregar una base de datos MySQL a BASE.

Todo lo anterior ha sido para llegar a este paso. Abrimos BASE de LibreOffice y verán una pantalla como esta:

Conectar a una base de datos existente MySQL en LibreOffice
Conectar a una base de datos MySQL

A partir de este punto hay que seguir las indicaciones del asistente: Conectar mediante JDBC ¿recuerdan?.

Conectar mediante JDBC
Conectar mediante JDBC

Te preguntará cosas que un administrador debe saber, como el servidor, el nombre de la base de datos y sus credenciales (nombre de usuario y contraseña).

Prueba de conexión
Prueba de conexión

Un pequeño detalle pero importante, si Registran esta información de conexión estará disponible en cualquier aplicación de LibreOffice ¡Interesante!.

Registrar la base de datos en LibreOffice
Sí, registrar la base de datos.

Si todo salio bien verán que ahora pueden ver las tablas y hacer consultas con los datos.

Ejecutando una consulta sql
Ejecutando una consulta SQL.

En otro artículo les voy a explicar cómo aprovechar esta información en Calc o en cualquier otro documento de LibreOffice.

¡Hasta la próxima!

P.D. Para ilustrar este artículo usé la base de datos world que está disponible en la documentación de MySQL y que sirve precisamente como datos de ejemplo para practicar.

9 comentarios en “Conectar una base de datos MySQL con LibreOffice”

  1. Respecto a “Para agregar la clase del conector (sea lo que sea que esto signifique)”:
    Lo de “la clase del conector” creo que se refiere al programa en sí. En java como en otros lenguajes de programación orientados a objetos, una clase es como una librería de funciones para crear, gestionar, borrar, etc. el objeto al que representa (es como una plantilla para poder generar un objeto concreto con sus características o propiedades y sus funcionalidades). Entonces podríamos decir mejor “la clase conector” que “la clase del conector”. Igual me equivoco porque no he usado bases de datos a nivel programación pero sí he programado clases en C++.

    Responder
    • Hola Guillermo,

      Tienes razón, creo que parte del problema es la traducción del programa. Sin embargo, no importa tanto si se dice de una o de otra forma. Lo importante es averiguar como se hace, el proceso no es muy intuitivo que digamos.

      Saludos.

      Responder
    • No estoy seguro si le sirva a alguien, no creo que mucha gente este buscando esto. Pero si de por casualidad alguien lo necesita, que no batalle tanto como yo para tenerlo listo y funcionando.
      🙂

      Responder
  2. Buenas tardes, buscando en la web encontré estas notas tuyas. Quiero comentarte que al igual que tu, también necesito poder conectar una base de datos MySQL con una base de datos en Base de LibreOffice versión 6.01, la mas reciente. Desafortunadamente no tengo experiencia en bases de datos web, y quisiera pedir tu ayuda en ese sentido. Básicamente necesito que algunos datos se puedan agregar desde la nube, usando usuarios registrados con claves personales, según su status, Una vez recolectada esta información en MySQL poder procesarla en Base de LibreOffice, y generar los informes para que estén disponibles en la web, para los usuarios registrados y otros no registrados, según el tipo de información. Es posible lograr esto? Podrías ayudarme a lograrlo? De antemano gracias por tu respuesta.

    Responder
    • Hola Fernando,

      Así como lo cuentas, claro que es posible. Aunque no se porque quieres hacerlo con Libreoffice. Con respecto a la ayuda, sin cobrar lo dudo mucho, tendría que dedicarle mucho tiempo y dejar de lado otras actividades.

      Saludos.

      Responder
  3. Buenas noches.

    Disculpe pero no he podido ingresar el connector a libreoffice y estaría perfecto si me pudiera apoyar ya que le he intentado pero tal vez no de la manera correcta aún así siguiendo los pasos.

    En fin, espero lo pueda leer y saludos hasta Coahuila.

    Responder

¡Me encantaría saber que opinas!

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.