Os explicamos cómo instalar (aunque SQLite se caracteriza por no necesitar instalación) SQLite, una base de datos que admite SQL embebida (no necesita de ningún tipo de servidor, no funciona en modo cliente-servidor). Os explicamos paso a paso cómo acceder y utilizar este peculiar motor de base de datos SQL mediante ODBC. Os mostramos cómo crear una base de datos SQLite en Windows XP y en GNU Linux Ubuntu Server.

Definición de SQLite

SQLite es un sistema de gestión de bases de datos relacional compatible con ACID (Atomicity, Consistency, Isolation and Durability ó Atomicidad, Consistencia, Aislamiento y Durabilidad). SQLite sólo necesita una librería (biblioteca) que ocupa poco más de 700KB (tclsqlite3.dll). Desarrollada en C, SQLite es un proyecto de dominio público creado por D. Richard Hipp.

A diferencia de los sistemas de gestión de base de datos cliente-servidor (Oracle, MySQL, Microsoft SQL Server, DB2, etc.), el motor de SQLite no es un proceso independiente con el que el programa principal se comunica, sino que es una biblioteca (finchero DLL) que se enlaza con el software mediante llamadas a funciones y subrutinas. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos.

La base de dato SQLite (definiciones, tablas, índices y datos) se guarda como un sólo fichero estándar en la máquina host. Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción.

Actualmente, SQLite va por la versión 3.6.11, que permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB.

Este motor de base de datos es muy útil para realizar aplicaciones de propósito general que necesiten guardar datos en base de datos y que no sean «intrusivos», es decir, programas que con un ejecutable, una DLL y un fichero de base de datos funcionarían perfectamente, sin necesidad de instalación de motores de base de datos, ni de ningún otro componente.

Creación de una base de datos SQLite en Windows XP

Para crear una base de datos SQLite necesitaremos el ejecutable «sqlite3.exe», disponible gratuitamente en:

http://www.sqlite.org/download.html

Seleccionaremos en «Precompiled Binaries For Windws» el enlace «sqlite-3_6_11.zip»:

Descomprimiremos el fichero descargado «sqlite-3_6_11.zip», al descomprimirlo tendremos el fichero «sqlite3.exe» de 490KB. A continuación abriremos una ventana de MS-DOS (línea de comandos), desde «Inicio» – «Ejecutar» escribiremos «cmd» y pulsaremos «Aceptar»:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

En la línea de comandos, accederemos a la carpeta donde hayamos descomprimido el fichero sqlite3.exe, con los comandos:

e:

(si está en la unidad «E»)

cd «Mis documentos/programas/sqlite»

a continuación introduciremos el siguiente comando para crear la base de datos «bdajpdsoft»:

sqlite3 bdajpdsoft

Tras crear la base de datos, crearemos una tabla de prueba, para ello introduciremos las siguientes líneas:

create table factura (
codigo int primary key,
fecha date,
codigcliente int,
cobrada boolean);

A continuación insertaremos un registro en la tabla «factura» con las siguientes líneas:

insert into factura (codigo, fecha, codigcliente, cobrada) values (
1,’2009-03-20′, 12, ‘true’);

Haciendo un «select» podremos ver el contenido de la tabla «factura»:

select * from factura

Tras concluir con la creación de las tablas introduciremos el siguiente comando SQLite para cerrar la conexión:

.exit

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Con lo anterior, SQLite habrá creado un fichero llamado «bdajpdsoft» con el mismo nombre que el que le hemos dado a la base de datos y en la misma ubicación que el fichero «sqlite3.exe»:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Creación de una base de datos SQLite en GNU Linux Ubuntu Server

En primer lugar deberemos disponer de un equipo con el sistema operativo GNU Linux Ubuntu Server, este equipo deberá tener conexión a Internet para poder descargar el fichero necesario.

Crearemos una carpeta donde alojaremos las bases de datos SQLite y el fichero para acceso y creación de estas bases de datos. Para ello ejecutaremos el comando:

mkdir sqlite

Accederemos a esta carpeta con el comando:

cd sqlite

A continuación ejecutaremos el siguiente comando para bajar el fichero directamente de la web de SQLite:

wget http://www.sqlite.org/sqlite3-3.6.11.bin.gz

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Ahora descomprimiremos el fichero .gz descargado con el comando:

gzip -d sqlite3-3.6.11.bin.gz

Nos habrá descomprimido el fichero: sqlite3-3.6.11.bin

A continuación daremos permisos de ejecución para este fichero compilado (.bin) con el comando GNU Linux:

chmod 750 sqlite3-3.6.11.bin

Por último, para crear la base de datos «bdajpdsoft» ejecutaremos el siguiente comando:

./sqlite3-3.6.11.bin bdajpdsoft

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Una vez ejecutado el comando anterior, podremos crear las tablas de la base de datos «bdajpdsoft» pues SQLite abre el modo consola con el comando ./sqlite3-3.6.11.bin. Por ejemplo, podremos crear una tabla «prueba» con el comando:

create table prueba (codigo integer, nombre varchar(100));

Luego insertar un registro con el comando:

insert into prueba values (1, ‘AjpdSoft’);

Y luego hacer una consulta con el comando:

select * from prueba;

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Si cerramos la consola de SQLite para GNU Linux con el comando:

.exit

Podremos hacer un ls -lah y ver el nuevo fichero de base de datos SQLite creado en GNU Linux «bdajpdsoft»:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

En cualquier momento podremos editar la base de datos creada «bdajpdsoft» con el comando:

./sqlite3-3.6.11.bin bdajpdsoft

Podremos ver las tablas de la base de datos con el comando SQLite:

.tables

Podremos ver el código SQL utilizado para crear una tabla con el comando:

.schema nombre_tabla

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Instalación del driver ODBC que proporcionará el acceso a SQLite en Windows XP

Para realizar la conexión a SQLite mediante ODBC en primer lugar descargaremos el driver ODBC de la web:

http://www.ch-werner.de/sqliteodbc/

sqliteodbc.exe

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Ejecutaremos el fichero descargado: «sqliteodbc.exe», nos mostrará un asistente de instalación de SQLite ODBC, pulsaremos «Next» para continuar:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Leeremos los términos de la licencia, si estamos de acuerdo pulsaremos «I Agree» para continuar con la instalación de SQLite ODBC:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Seleccionaremos la ruta donde se instalarán los drivers ODBC de SQLite, por defecto:

C:/Archivos de programa/SQLite ODBC Driver

Pulsaremos «Next» para continuar:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Pulsaremos «Install» para iniciar el proceso final de la instalación:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Tras la instalación, pulsaremos «Finish» para terminar.

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Con estos pasos habremos instalado el driver ODBC para acceso a SQLite. A continuación deberemos añadir un origen de datos ODBC, desde «Inicio» – «Configuración» – «Panel de control» – «Herramientas administrativas» – «Orígenes de datos ODBC», en la ventana de Administrador de orígenes de datos ODBC, en la pestaña «DSN de sistema» pulsaremos «Agregar»:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Seleciconaremos el driver «SQLite3 ODBC Driver» y pulsaremos «Finalizar»:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

En «Data Source Name» introduciremos el nombre que queramos darle al origen de datos, por ejemplo «bdsqlite». A continuación pulsaremos «Browse» para seleccionar el fichero de base de datos SQLite creado en el paso anterior:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Seleccionaremos el fichero de base de datos SQLite creado con «sqlite3.exe» (en nuestro caso «bdajpdsoft»):

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Pulsaremos «OK» para guardar el nuevo origen de datos SQLite3:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Para realizar una prueba de conexión podremos utilizar cualquier software que admita conexión a base de datos mediante ODBC, como por ejemplo AjpdSoft Administración Bases de Datos. Al abrirlo seleccionaremos en «Tipo de conexión» la opción «Conectar mediante ODBC (requiere BDE y Driver ODBC), a continuación en «ODBC» seleccionaremos el creado anteriormente «bdsqlite», pulsaremos «Aceptar» para realizar la conexión a SQLite:

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Tras conectarnos podremos ejecutar consultas SQL normales, como por ejemplo insertar un nuevo registro en la tabla «factura» con el comando SQL:

insert into factura values (2, ‘2009-03-24’, 11, ‘false’)

También podremos consultar los datos guardados en la tabla «factura» con el comando SQL:

select * from factura

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC

Podremos ejecutar cualquier tipo de consulta SQL, por ejemplo podremos crear una nueva tabla «cliente»:

create table cliente (
codigo integer primary key autoincrement,
fecha date default current_date,
nombre varchar(150),
baja boolean default ‘false’)

Podremos insertar varios registros con:

insert into cliente (nombre) values (‘AjpdSoft’)

y mostrar el contenido de la tabla:

select * from cliente

Acceso a SQLite con ODBC, Delphi y Lazarus - Instalación ODBC