Sábado, Noviembre 18, 2017

Conectar SQLite y LibreOffice en Ubuntu, Linux Mint, etc

Conectar SQLite y LibreOffice en Ubuntu, Linux Mint, etc. Portada

Como ya comenté en el artículo sobre gestión de bases de datos, las posibilidades que nos ofrece un motor de bases de datos como SQLite para nuestro trabajo diario son excepcionales. En muchas ocasiones realizamos trabajos repetitivos que podrían ser resueltos fácilmente utilizando las herramientas adecuadas. Y de la misma manera, es fácil tener la información repetida en diferentes lugares. Un claro ejemplo es la agenda de contactos; podemos tener una en nuestro teléfono móvil, otra en nuestro cliente de correo electrónico del trabajo y otra en en el cliente de correo de casa. ¿No es mas cómodo tener una sola?. ¿Y si tuviéramos una sola?. Si todos los contactos los tienes en una base de datos, puedes conectarSQLite y LibreOffice y mandar un correo electrónico a todos, o cualquier otro tipo de acción masiva, sin tener que estar haciendo la operación uno por uno. Si además, esto lo tienes que hacer todas las semanas o meses, te podrías ahorrar una considerable cantidad de tiempo, pudiendo dedicarlo a otro asunto, es decir, en pocas palabras, siendo mas productivo.

En este artículo, comento como conectar SQLite y LibreOffice, pero se  puede hacer de igual manera con cualquier otra motor de base de datos como MariaDB o PostgreSQL.

Conectando SQLite y LibreOffice

Base

Pero, ¿porque conectar SQLite y LibreOffice, si la suite ofimática dispone de Base?. Base es la interfaz de base de datos que viene integrada en LibreOffice. Base tiene su propio motor de base de datos relacional HSQL, y guarda los datos en el propio archivo de Base. Pero además, Base nos permite crear tablas, consultas, formularios e informes de forma sencilla, y en el caso de que lo necesites, mediante un asistente.

Sin embargo, si queremos dar una solución mas amplia, en la que integrar mas servicios o una solución mas general, debemos recurrir a un motor de bases de datos que nos permite comunicarnos con otros sistemas de forma mas sencilla.

¿Esto quiere decir abandonar Base?. No, en modo alguno. Si ya dominas o conoces Base, puedes seguir funcionando exactamente igual como hasta ahora, salvo que debes establecer una conexión entre SQLite y LibreOffice. Una vez realizada esta conexión, podrás utilizar las bases de datos de SQLite como si estuvieran en Base, pero respaldadas por su propio motor.

La conexión SQLite y LibreOffice

Evidentemente para poder conectar el motor de base de datos y la suite ofimática, necesitaremos tener el propio motor de base de datos instalado. En el caso de que no lo tuvieras, ejecuta las siguientes órdenes en un terminal,

sudo apt install sqlite sqlite3

Por otro lado, para conectar SQLite y LibreOffice, necesitaremos ODBC, que es un interfaz que permite comunicarse con SQLite y otros motores de bases de datos. Para instalar este interfaz, ejecutaremos las siguientes órdenes,

sudo apt install libsqliteodbc unixodbc unixodbc-bin

Con esto ya tenemos las herramientas necesarias para conectar SQLite y LibreOffice. Nos queda comprobar que todo es correcto. Para ello, debemos comprobar que existe el archivo /etc/odbcinst.ini, y que su contenido es el siguiente,

[SQLite]
Description=SQLite ODBC Driver
Driver=libsqliteodbc.so
Setup=libsqliteodbc.so
UsageCount=1

[SQLite3]
Description=SQLite3 ODBC Driver
Driver=libsqlite3odbc.so
Setup=libsqlite3odbc.so
UsageCount = 1

La conexión ODBC con nuestras bases de datos

Ahora ha llegado el momento de establecer la conexión, dado que hasta el momento, solo hemos instalado el motor y el interfaz. La conexión la debemos establecer para cada una de las bases de datos que tengamos en SQLite. Es decir, debemos decirle a ODBC donde se encuentra nuestra base de datos SQLite, el motor de base de datos que utiliza (SQLite o SQLite3) y otros parámetros.

Para definir todos estos datos, crearemos un archivo en nuestro directorio de inicio ~/.odbc.ini. Por ejemplo, en mi caso, tengo dos bases de datos definidas, ejemplo.db y ejemplo2.db. Así, el contenido de mi archivo ~/.odbc.ini, será el siguiente,

[datos1]
Description=Mis datos
Driver=SQLite3
Database=/home/lorenzo/databases/ejemplo.db
Timeout=1000
StepAPI=No

[datos2]
Description=Tus datos
Driver=SQLite3
Database=/home/lorenzo/databases/ejemplo2.db
Timeout=1000
StepAPI=No

El nombre entre corchetes, [datos1] para la primera base datos y [datos2] para la segunda es el que utilizaremos posteriormente para conectarnos con estas bases de datos. Mi recomendación es que evites poner espacios u otros caracteres extraños para evitarte futuras sorpresas.

Por ejemplo, si quieres utilizar isql (una herramienta de la linea de comandos para acceder a bases de datos vía ODBC) y has puesto algún espacio en el nombre del archivo, tendrás que utilizar dobles comillas. Así si el nombre es [Datos 1], tendrás que ejecutar la orden isql "Datos 1".

Con esto ya tenemos definido nuestro interfaz para conectarnos a ambas bases de datos.

Abriendo nuestra base de datos SQLite desde Base

Ahora que ya hemos creado nuestros conectores para las bases de datos en SQLite, el siguiente paso es probar su funcionamiento desde Base. Para ello, abriremos una instancia de Base.

Nada mas abrir Base, nos aparece un cuadro de diálogo correspondiente al Asistente de base de datos. Aquí debemos seleccionar la tercera opción Conectar con una base de datos existente y seleccionar la opción ODBC.

Conectar SQLite y LibreOffice en Ubuntu, Linux Mint, etc. Asistente. Paso 1.

Al pulsar Siguiente > continuaremos con el siguiente paso, que nos permite configurar la conexión con una base de datos mediante ODBC. Aquí debes pulsar el botón Examinar... para seleccionar una de las bases de datos que hemos configurado en el apartado anterior,

Conectar SQLite y LibreOffice en Ubuntu, Linux Mint, etc. Asistente. Paso 2.

Como ves, en el cuadro de diálogo nos aparecen las dos bases de datos que hemos configurado datos1 y datos2. Continuamos con el asistente, y vamos al siguiente paso, donde nos pregunta el nombre de usuario y que nos permite probar la conexión. Si no has definido usuario y contraseña, no debes poner nada, simplemente pulsa Probar conexión.

Conectar SQLite y LibreOffice en Ubuntu, Linux Mint, etc. Asistente. Paso 2b.

Si al pulsar el botón Probar conexión, todo ha ido correctamente, te mostrará un cuadro de diálogo informándote de que la conexión se ha establecido correctamente.

Conectar SQLite y LibreOffice en Ubuntu, Linux Mint, etc. Asistente. Paso 3b.

Llegados al cuarto y último paso, solo nos queda guardar y continuar. Aquí el asistente nos preguntará si queremos registrar la base de datos en LibreOffice, lo cual es totalmente recomendable para no tener que hacer este proceso en cada ocasión, y si queremos abrir la base de datos para su edición.

Conectar SQLite y LibreOffice en Ubuntu, Linux Mint, etc. Asistente. Paso 3.

Nos preguntará el nombre que queremos darle a nuestra base de datos de LibreOffice y donde la queremos guardar. Para no despistarme le he dado el mismo nombre que a la de SQLite, pero cambiando la extensión datos1.odb.

Conectar SQLite y LibreOffice en Ubuntu, Linux Mint, etc. Asistente. Paso 4.

¿Porque tenemos dos bases de datos SQLite y Base? Los datos están guardados en SQLite. Ahora bien, en Base tenemos otras herramientas que no están disponibles en SQLite, por ejemplo, Formularios e Informes.

Conclusiones

Como has leído, realizar una conexión entre SQLite y LibreOffice es realmente sencillo, y no presenta complejidad alguna. Además los primeros pasos son comunes a todo. Solo es necesario que recuerdes que en cada ocasión que crees una nueva base de datos en SQLite, es necesario que establezcas la interfaz de conexión ODBC en el archivo ~/.odbc.ini.

En el siguiente artículo veremos como trabajar con SQLite y Base, que opciones tenemos y que posibilidades nos ofrece.

 

Más información:

Fuente: atareao

¿Quién está en línea?

Hay 145 invitados y ningún miembro en línea

Contador de Visitas

9047077
Hoy Hoy 460
Ayer Ayer 1413
Esta semana Esta semana 7625
Este mes Este mes 25568
Total de Visitas Total de Visitas 9047077

Día con más
visitantes

11-11-2017 : 2493

Gracias por su visita