Ce guide a pour principal objectif d'aider les utilisateurs de OpenOffice.org à utiliser une base de
données SQLite comme source de données avec OpenOffice.org.
1.1 Qu'est-ce que SQLite ?
SQLite (http://www.sqlite.org/) est un moteur de base de données libre qui implémente la plupart
des spécifications du standard SQL92.
La principale différence de SQLite avec PostgreSQL et MySQL tient au fait qu'une base de
données entière avec toutes ses tables est stockée dans un seul et unique fichier. Une autre
particularité est que l'accès à ce fichier de données ne nécessite aucun serveur de base de
données.
A cela on peut rajouter qu'il est rapide (deux fois plus que PostgreSQL et MySQL pour des
opérations courantes), peu gourmand en mémoire, et peut gérer des bases de données de
grandes dimensions.
L'accès aux données peut se faire de différentes manières :
Une interface C/C++ (bibliothèque Linux ou dll windows) qui permet aux programmes d'accéder
à une base SQLite.
Un programme en ligne de commande (sqlite : disponible sous Linux et windows) qui permet
de créer et d'administrer les fichiers de bases de données.
Le langage PHP pour lequel il existe un module spécifique, et dont la prochaine version (PHP
5) permettra d'accéder directement à une base SQLite.
Un pilote ODBC (Linux et windows) qui permet à n'importe quelle application supportant ce
standard d'accéder à une base de données SQLite.
Dans ce guide, nous parlerons essentiellement du pilote ODBC qui permet justement à
OpenOffice.org d'utiliser une base de données SQLite. Nous évoquerons rapidement le
programme « sqlite » en ligne de commande au paragraphe 3.1 pour la création initiale du fichier
de données.
1.2 Pourquoi utiliser SQLite avec OpenOffice.org ?
L'utilisation d'une base de données SQLite présente de nombreux avantages :
La base de données se trouve dans un seul fichier (contrairement à DBase qui crée un fichier
par table) et peut ainsi être échangé facilement entre différents utilisateurs.
Il n'y a pas besoin d'un serveur de bases de données (local ou distant) pour accéder à la base.
Le driver ODBC existant aussi bien pour Linux que pour windows, les utilisateurs de ces deux
environnements peuvent accéder aux données et se les échanger.
Des interfaces graphiques très sophistiquées (qui n'ont rien à envier à msaccess) peuvent être
développées grâce aux formulaires, requêtes, états et macros de OpenOffice.org. Ces
interfaces sont stockées dans des fichiers OpenOffice séparés des données, et peuvent
également être échangées entre utilisateurs, que ceux-ci travaillent sous Linux ou windows.
Mais SQLite présente également quelques inconvénients :
Fr.OpenOffice.org3 / 17
OpenOffice.org Documentation Project How-To
SQLite ne permet pas de modifier la structure d'une table après sa création (voir chapitre 6).
Cela signifie que vous ne pouvez pas rajouter de champs ni en modifier les propriétés une fois
que la table est créée. Vous devez donc avoir bien réfléchit à la structure de vos tables avant de
les créer !
Il est obligatoire de passer par un driver ODBC pour accéder à une base SQLite depuis
OpenOffice.org, ce qui rend cette opération un peu compliquée. Il faudra d'abord la déclarer
dans le gestionnaire ODBC (voir chapitre 4), puis dans OpenOffice.org (voir chapitre 5).
Le fichier initial qui contiendra la base données doit être créé en-dehors d'OpenOffice.org en
utilisant d'autres outils (voir chapitre 3).
En résumé, les principaux avantages de l'utilisation de SQLite avec OpenOffice.org sont le format
de stockage des données et la portabilité d'un environnement à l'autre. Dans les inconvénients
cités, les deux derniers ne sont pas spécifiques à SQLite, mais sont liés à l'obligation de passer
par ODBC. Ils ne sont finalement pas si gênants que cela, car ils n'ont lieu que lors de la création
initiale de la base.
Remarque : Tous ceux qui ont été frustrés de ne pouvoir accéder à un fichier MDB sous Linux, ou
qui ont dû, avec difficultés, installer un serveur MySQL sur leur poste afin de concevoir une base
de données complexe, voient déjà les avantages de SQLite.
2 Installation du driver ODBC pour SQLite
Pour accéder à une base de données SQLite depuis OpenOffice.org, il est nécessaire d'installer le
driver ODBC spécifique. Ceci est incontournable, et le restera, sauf si un jour OpenOffice.org
intègre nativement SQLite ...
Le driver ODBC pour SQLite est indépendant du projet SQLite lui-même. Il est développé à part
par Christian Werner (chw@ch-werner.de) et vous le trouverez sur son site (http://www.ch-
werner.de/sqliteodbc/). Il existe aussi bien pour Linux que pour windows.
2.1 Sous Linux
Afin de pouvoir installer le driver ODBC pour SQLite, il faut avoir au préalable installé unixODBC et
SQLite.
UnixODBC :
Vous trouverez des paquetages tout faits dans la plupart des distributions. Pour une Mandrake,
par exemple, installez les rpm suivants : libunixODBC2-2.2.x-xmdk.i586.rpm, libunixODBC2-devel-
Attention : Vérifiez que votre version de unixODBC est au moins la version 2.2.5. Une version
plus ancienne provoquera des plantages de OOo lorsqu'on utilise le driver ODBC pour SQLite. Si
votre version est plus ancienne (cas de Debian ou de la Mandrake 9.1), il vous faudra télécharger
et installer une version plus récente de unixODBC.
Si vous ne trouvez pas de paquetages tout faits suffisamment récents pour votre distribution,
Fr.OpenOffice.org4 / 17
OpenOffice.org Documentation Project How-To
téléchargez (http://www.unixodbc.org/) et compilez les sources.
Attention : Il semble que la compilation à partir des sources n'installe pas l'utilitaire graphique
ODBCConfig dont il est question plus loin. Vous aurez donc à configurer ODBC « à la main » !
SQLite :
Pour les utilisateurs de Mandrake, RedHat et autres distributions à base de rpm, vérifiez d'abord si
votre distribution n'intègre pas déjà les rpm pour SQLite.
Attention : SQLite évolue très vite et les paquets présents dans les distributions fournissent
souvent une version de SQLite qui date un peu (par exemple la Mandrake 10.0 intègre SQLite
2.8.6). Vu que les dernières versions du driver ODBC sont basées sur une version récente de
SQLite (2.8.13 pour la version 0.6.2 du driver), il vaut mieux installer une version plus récente que
celle présente dans votre distribution. En théorie le driver SQLite pour ODBC peut être compilé
avec SQLite 2.8.6, mais l'utilisation de cette version engendrera quelques limitations (pas de
support des champs auto-incrémentés par exemple).
Pour cela il vous faudra télécharger (http://www.sqlite.org/download.html) et installer les
paquetages « sqlite-x.x.x-x.i386.rpm » et « sqlite-devel-x.x.x-x.i386.rpm ». Par la même occasion,
cela vous installera le programme en ligne de commande « sqlite » dont il est question au chapitre
3.
Attention : Pour les utilisateurs de Mandrake (9.1, 9.2 ou 10.0) l'installation de ces rpm vous
indiquera qu'il manque « libreadline.so.4 » même si elle est installée, car les rpm cités plus haut
ne cherchent pas cette bibliothèque là où Mandrake l'installe. Vérifiez d'abord avec rpmdrake que
la bibliothèque « libreadline4 » est bien installée (sinon installez-la), puis installez les rpm sqlite en
ligne de commande en forçant la non-détection des dépendances :
Si vous êtes sous Debian ou une autre distribution n'acceptant pas les rpm, téléchargez
(http://www.sqlite.org/download.html) et compilez les sources (sqlite-x.x.x.tar.gz).
SQLiteODBC :
Etant donné qu'on ne trouve pour l'instant pas de paquetages précompilés (RPM ou autres) tout
faits pour sqliteodbc, le mieux est de télécharger le code source sur le site de l'auteur
(http://www.ch-werner.de/sqliteodbc/). Téléchargez une version au moins égale à la 0.6.1, car les
plus anciennes offrent des possibilités limitées avec OpenOffice.org.
Une fois le fichier tar.gz téléchargé, il faut le décomprimer, ce qui va créer un dossier sqliteodbc-
0.6.x. Ensuite il faut ouvrir un terminal et se placer dans ce dossier. Puis il suffit de taper les
commandes classiques pour la compilation et l'installation :
$ ./configure –prefix=/usr
$ make
$ su
# make install
Remarque : --prefix=/usr est optionnel et surtout utile pour les distributions Mandrake. Il permet
que le driver s'installe dans /usr/lib plutôt que dans /usr/local/lib.
Fr.OpenOffice.org5 / 17
OpenOffice.org Documentation Project How-To
Remarque : Certaines dépendances sont nécessaires à la compilation du driver. Par exemple, si
la compilation échoue en disant que ltdl.h n'a pas été trouvé, il vous faudra installer la bibliothèque
correspondante (libltdl3-devel sous Mandrake).
Vous pouvez alors effacer le dossier de compilation du code source.
Pour finir, il faut déclarer le driver installé dans unixODBC. Pour ceci, il faut lancer l'utilitaire
ODBCConfig comme root. Ouvrez un terminal et tapez ce qui suit :
$ su
# ODBCConfig
Vous devez obtenir l'affichage de la fenêtre suivante :
Allez dans l'onglet « Drivers » et choisissez « Add... ». Remplissez alors les champs de la fenêtre
de propriété du driver exactement comme sur la copie d'écran suivante :
Fr.OpenOffice.org6 / 17
Loading...
+ 11 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.