Utilisation d'une base de données SQLite

avec OpenOffice.org

Distribué par le projet Fr.OpenOffice.org

Révision [n°3.3] – 10/09/2004

Réalisé avec : OOo 1.1.1	Plate-forme / Os : Toutes

Table des Matières

1 Introduction	3

1.1 Qu'est-ce que SQLite ?	3

1.2 Pourquoi utiliser SQLite avec OpenOffice.org ?	3

2 Installation du driver ODBC pour SQLite	4

2.1 Sous Linux	4

2.2 Sous Windows	8

3 Configuration de la source de données dans OpenOffice.org	9

4 Création des tables de la base de données dans OpenOffice.org	10

5 Utilisation d'une base de données SQLite avec OpenOffice.org	13

5.1 Accès à la base de données par le panneau de sources de données	13

5.2 Création de requêtes	14

5.3 Création de formulaires	15

5.4 Echanges de fichiers de données entre utilisateurs	15

6 Annexe	16

6.1 Utilisation de « sqlite »	16

6.2 Utilisation de « SQLite Database Browser »	16

7 Crédits	18

8 Licence	18

Introduction

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.

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 entre SQLite et PostgreSQL ou 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 dernière version (PHP 5) intègre 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.

Un pilote JDBC (en cours de développement) en java qui est donc multi-plateformes.

Un pilote SDBC (en cours de développement) spécifique à OOo qui lui permettra d'accéder directement à une base SQLite.

Dans ce guide, nous parlerons essentiellement du pilote ODBC qui présente actuellement la meilleure solution pour utiliser une base de données SQLite avec OpenOffice.org.

Dans un proche avenir, le driver SDBC permettra de faire la même chose sans avoir besoin d'utiliser ODBC, et remplacera donc avantageusement le driver ODBC. Pour ceux qui se sentent une âme d'aventurier, vous pourrez télécharger le driver (uniquement pour Linux pour l'instant) sur http://dba.openoffice.org/drivers/sqlite/index.html .Vous y trouverez également les instructions pour l'installer et l'utiliser.

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ée 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 :

SQLite ne permet pas de modifier la structure d'une table après sa création (voir chapitre 4). 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échi à la structure de vos tables avant de les créer !

Il est pour l'instant 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 2), puis dans OpenOffice.org (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, le dernier n'est pas spécifique à SQLite, mais est lié à l'obligation de passer par ODBC. Cet inconvénient disparaîtra lorsque le driver SDBC sera opérationnel.

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.

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 pour l'instant, et le restera jusqu'à ce que le driver SDBC soit finalisé ...

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.

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-2.2.x-xmdk.i586.rpm, libunixODBC2-qt-2.2.x-xmdk.i586.rpm, unixODBC-2.2.x-xmdk.i586.rpm, unixODBC-gui-qt-2.2.x-xmdk.i586.rpm.

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, 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.15 pour la version 0.6.4 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 ».

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 :

# rpm -ivh sqlite-devel-2.8.x-x.i386.rpm –nodeps

# rpm -ivh sqlite-2.8.x-x.i386.rpm --nodeps

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 la version la plus récente (0.6.4 à ce jour), 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écompacter, 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 au driver s'installer dans /usr/lib plutôt que dans /usr/local/lib.

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 :

Puis validez avec l'icône la plus à gauche en haut de la fenêtre. Votre nouveau driver apparaît maintenant dans l'onglet « Drivers » :

Vous pouvez maintenant quitter ODBCConfig. L'installation du driver sous Linux est terminée.

Remarque : Pour ceux qui n'ont pas ODBCConfig ou qui préfèrent réaliser cette configuration « à la main », il faut éditer le fichier « /etc/odbcinst.ini » comme root et ajouter les lignes suivantes :

[SQLite]

Description	= ODBC pour SQLite

Driver	= /usr/lib/libsqliteodbc.so

Setup	= /usr/lib/libsqliteodbc.so

FileUsage	= 1

CPTimeout	=

CPReuse	=

Astuce : Le site http://www.ch-werner.de/sqliteodbc/ fournit également le code source du driver au format srpm. Ce fichier doit permettre de créer facilement un rpm pour votre distribution en tapant l'instruction suivante :

# rpmbuild --rebuild sqliteodbc-0.60-1.src.rpm

Vous devriez obtenir un rpm prêt à être installé et qui, selon l'auteur, configure lui-même le driver dans ODBC ! Ceci permettant d'éviter les étapes qui viennent d'être décrites.

Avant d'en terminer avec la configuration de ODBC, relancez ODBCConfig et rajoutez une source de données (DSN) dans « System DSN » (si vous êtes root) ou dans « User DSN » (si vous êtes utilisateur), de la manière suivante :

Si vous préférez le faire « à la main », éditez le fichier « /etc/odbcinst.ini » (si vous êtes root) ou le fichier « /home/.../.odbc.ini » (si vous êtes utilisateur) et rajoutez les lignes suivantes :

[SQLite Datasource]

Driver=SQLITE

Sous Windows

Sous windows cette étape est plus facile. Il suffit de télécharger le fichier sqliteodbc.exe et de l'exécuter. Le driver s'installe automatiquement et est rajouté automatiquement dans ODBC. Vous pourrez le vérifier en lançant « Source de données ODBC » depuis le panneau de configuration :

Remarque : Un deuxième driver (UTF-8) expérimental est installé. Il vaut mieux se contenter du driver normal.

Avant de quitter l'utilitaire de configuration des sources de données ODBC, allez dans l'onglet « Sources de données système » ou « Sources de données utilisateur », rajoutez une source de données utilisant le driver « SQLite ODBC Driver » et nommez-la « SQLite Datasource ». Validez sans spécifier de fichier de base de données.

Configuration de la source de données dans OpenOffice.org

La suite des opérations s'effectuant uniquement depuis OpenOffice.org, il n'y a donc pas de différence entre Linux et windows.

Maintenant vous pouvez enfin démarrer OpenOffice.org. Avant de pouvoir accéder à une base de données SQLite et lui ajouter des tables et des données, il faut d'abord configurer la « source de données ».

Pour ceci, allez dans le menu « Outils » et sélectionnez « Sources de données... ».

Dans la fenêtre qui s'affiche, cliquez sur « Nouvelle source de données » :

Dans « Nom », à la place de « Source de données 1 » saisissez le nom que vous voulez donner à votre source de données.

Dans « Type de BD », choisissez ODBC.

Pour « URL de la source de données », sélectionnez le bouton de droite avec les trois points (...). Ceci ouvre une fenêtre dans laquelle vous voyez toutes les sources de données déjà déclarées dans ODBC. Choisissez « SQLite Datasource » que vous avez créé au chapitre précédent.

Ensuite passez à l'onglet « ODBC » et remplissez « Paramètres du pilote » en commençant par « Database= » puis le chemin d'accès à votre fichier de base de données.

Il n'y a pas de boîte de sélection de fichier, alors attention de ne pas faire de faute dans le chemin d'accès !

Important : Si vous n'avez pas encore de base de données SQLite, un fichier sera créé automatiquement à l'endroit spécifié avec le nom que vous aurez précisé (l'extension « .db » n'est pas obligatoire mais permet de repérer plus facilement un fichier de base de données ...)

Ceci est la façon la plus simple et la plus rapide de créer une nouvelle base de données SQLite depuis OpenOffice.org. Vous trouverez en annexe (chapitre 6), comment on peut créer une base sans utiliser OpenOffice.org.

Voilà, votre base de données SQLite est maintenant accessible depuis OpenOffice.org !

Cliquez ensuite sur « Appliquer » sans quitter cette fenêtre, car elle va nous servir à créer les tables et les champs de la base.

Création des tables de la base de données dans OpenOffice.org

Dans la fenêtre « Gestion des sources de données », allez dans l'onglet « Tables ». Pour créer votre première table, sélectionnez l'icône « Nouvelle ébauche de table ». Vous obtenez alors une fenêtre qui va vous permettre de créer les champs de la nouvelle table :

Dans la colonne « Nom de champ », saisissez le nom du nouveau champ.

Dans la colonne « Type de champ », choisissez son type grâce à la liste déroulante.

Dans la zone inférieure de « Propriétés du champ », indiquez si la saisie est obligatoire ou non, donnez la valeur prise par défaut par ce champ et choisissez son format.

Créez de cette manière autant de champs que nécessaire.

Attention : Pour que OpenOffice.org soit capable d'ajouter des enregistrements dans votre table, il vous faut obligatoirement créer une clé primaire. Dans une table, le premier champ est souvent un identifiant unique (id_membre) qu'il faut définir comme « clé primaire ». Pour ceci, un clic droit sur l'en-tête de ligne de ce champ fera apparaître un menu contextuel dans lequel il faut sélectionner « clé primaire ». Si ce champ est du type « integer », alors sa valeur sera automatiquement incrémentée lors de chaque nouvel ajout d'enregistrement dans cette table (voir paragraphe 5.1).

Attention : La création d'une clé primaire sur un champ de type « integer » ne fonctionne que depuis la version 0.6.1 du driver ODBC pour SQLite.

Une fois que vous avez créé tous vos champs et choisi votre clé primaire, sauvegardez votre nouvelle table en cliquant sur l'icône représentant une disquette ( ). Saisissez alors le nom de votre table et validez.

Attention : Une fois que vous aurez enregistré votre table, vous ne pourrez plus la modifier ! C'est-à-dire que vous ne pourrez plus modifier les propriétés des champs, ni en rajouter ou en supprimer !

Cette contrainte assez gênante est propre à SQLite qui ne gère pas la commande SQL « ALTER TABLE », et non pas au driver ODBC. Cette limitation, voulue par les auteurs afin d'obtenir un moteur de base de données aussi léger que possible, sera peut-être levée dans une version future. En attendant, vérifiez bien la structure de votre table avant de l'enregistrer.

Si vous voulez modifier une table, la seule solution est de la recréer et de l'enregistrer sous un autre nom. De cette manière, vous pourrez transférer les données qu'elle contient dans la nouvelle table.

Astuce : Si vous avez absolument besoin de modifier une table sans avoir recours à cette acrobatie, vous pourrez le faire avec SQLite Data Browser. L'utilisation de ce petit logiciel est abordée en annexe au chapitre 6.

Une fois que vous avez créé une table, vous pouvez créer un index pour accélérer les requêtes et les tris sur de gros volumes de données. Pour ceci, sélectionnez votre table dans l'onglet « Tables » de la fenêtre de « Gestion des sources de données » et cliquez sur l'icône du milieu « Editer la table ». Vous vous trouvez à nouveau dans la fenêtre qui affiche les champs de votre table. Sélectionnez alors la quatrième icône « Ebauche d'index ... » et vous obtiendrez la fenêtre suivante :

Cliquez sur la première icône « Nouvel index » et saisissez un nom pour cet index. Dans la colonne « Champ d'index » choisissez le(s) champ(s) à indexer, l'ordre de tri, et cochez la case « Unique ». Enregistrez ensuite en cliquant sur la quatrième icône « Enregistrer l'index actif ».

Attention : La création d'index n'est possible que lors de la création initiale d'une table. Vous ne pourrez pas ajouter ou modifier un index pour une table déjà existante.

Voilà, la structure de votre base de données est créée et OpenOffice.org peut maintenant y accéder et vous permettre d'y ajouter des données, puis de les exploiter de différentes manières.

Utilisation d'une base de données SQLite avec OpenOffice.org

Ce chapitre n'est pas spécifique aux bases de données SQLite. Il a pour but de présenter succinctement les différentes possibilités existantes et de préciser quelques limitations ou possibilités propres à SQLite.

Accès à la base de données par le panneau de sources de données

La manière la plus simple d'accéder à votre base de données dans OpenOffice.org est d'ouvrir le « panneau de sources de données » grâce à l'icône correspondante que l'on trouve dans la barre verticale de gauche (ou à la touche F4) dans writer et calc.

Vous trouverez le nom de votre base tel que vous l'avez déclaré dans OpenOffice.org (voir chapitre 3) dans la partie gauche du panneau de source de données. Si vous parcourez l'arborescence en cliquant sur les « + », vous trouverez une rubrique « Tables » dans laquelle vous pourrez sélectionner une table dont le contenu s'affichera dans le panneau de droite. Vous pourrez alors modifier chaque enregistrement directement dans le tableau, ou en créer un nouveau en complétant la dernière ligne symbolisée par « * ».

Remarque : Si le premier champ de votre table est de type « integer » et que vous l'avez défini comme clé primaire (voir chapitre 4), il contiendra « <AutoChamp> » tant que vous n'aurez pas validé la saisie de la ligne complète (« Entrée » après chaque champ). Après cette validation il sera automatiquement incrémenté de 1 par rapport à la valeur de l'enregistrement précédent.

Attention : Cette possibilité d'auto-incrémentation des clés primaires de type « integer » n'est possible que si vous utilisez la version 0.6.0 ou supérieure du driver ODBC pour SQLite.

Création de requêtes

La création de requêtes peut également se faire depuis le panneau de sources de données. Affichez la rubrique « Requêtes » de votre base dans le panneau de droite et cliquez dessus avec le bouton droit de la souris. Dans le menu contextuel, choisissez « Nouvelle requête (mode ébauche) » et vous obtiendrez l'ouverture d'une nouvelle fenêtre :

Vous devrez d'abord sélectionner toutes les tables constituant votre requête, en les choisissant dans la liste puis en cliquant sur « Ajouter ». Ensuite vous pourrez créer les liaisons en faisant glisser le champ d'une table sur le champ qui lui correspond dans l'autre table.

Pour définir votre requête, sélectionnez les champs des tables qui la composent et glissez-les jusqu'au tableau qui occupe la partie inférieure de la fenêtre. Pour chaque champ ajouté à la requête, ce tableau vous permettra de choisir l'ordre de tri, une fonction de regroupement, des critères, etc ...

Les différentes icônes vous permettront ensuite d'afficher le résultat de votre requête, de la sauvegarder, de l'éditer en mode SQL, ...

La création de requêtes offre de nombreuses possibilités qu'il n'est pas possible de détailler ici.

Attention : La possibilité d'ajouter plusieurs tables lors de la création d'une requête sur une base SQLite, et donc de créer des requêtes multi-tables, n'est possible que depuis la version 0.6.0 du driver ODBC pour SQLite.

Création de formulaires

La création de formulaires au sein de documents writer ou calc est une possibilité très puissante qui permet de créer une véritable interface graphique à votre base de données. Les possibilités et les applications possibles sont tellement nombreuses qu'il n'est pas question de les aborder dans ce document. Vous trouverez dans l'aide de OpenOffice.org et sur http://fr.openoffice.org/Documentation/Index.html des informations précieuses sur la manière de les réaliser.

La création de sous-formulaires décuple encore les possibilités. Vous vous reporterez à ce document pour apprendre à les utiliser.

Attention : Pour créer des sous-formulaires dans des formulaires, il est nécessaire d'utiliser des « paramètres nommés » afin de faire le lien entre les différentes tables. Pour ceci vous devrez utiliser une macro dont l'installation et l'utilisation est décrite dans le document suivant : Paramètre Nommés . Cette macro fonctionne parfaitement avec les bases SQLite.

Depuis la version 0.6.3 du driver ODBC pour SQLite l'utilisation de cette macro n'est plus nécessaire.

Echanges de fichiers de données entre utilisateurs

Grâce à la disponibilité du driver ODBC pour SQLite aussi bien sous Linux que sous windows (de même que OpenOffice.org, bien sûr !), une base de données SQLite peut être facilement échangée entre des utilisateurs des deux environnements.

Il faut bien sûr que chacun ait installé le driver ODBC, qu'il y déclare le fichier SQLite auquel il veut accéder, puis qu'il déclare cette source de données dans OpenOffice.org.

Des fichiers sxw ou sxc contenant des formulaires et des macros peuvent également être échangés entre utilisateurs des deux environnements.

Attention : Pour que les formulaires fonctionnent correctement chez chaque utilisateur, il faut absolument que chacun donne exactement le même nom à la source de données lors de sa création (voir chapitre 3).

Annexe

SQLite s'est beaucoup répandu et est devenu aujourd'hui presque un standard. Ainsi vous pourrez accéder à vos fichiers de données dans ce format avec de nombreux autres outils que OpenOffice.org. Il y a d'ailleurs certains cas où vous aurez intérêt à le faire (recompression de la base après suppression d'un grand nombre d'enregistrements, modification d'une table, conversion du fichier au format SQLite3, ...)

Pour cela, il faudra utiliser soit l'utilitaire « sqlite » en ligne de commande, soit un des logiciels tiers qui sont répertoriés à cette adresse : http://www.sqlite.org/cvstrac/wiki?p=SqliteTools

L'utilitaire « sqlite » devrait être déjà installé si vous utilisez Linux et avez installé SQLite en rpm. Sinon pour les autres, vous trouverez tout ce qu'il faut pour l'installer sous Linux ou windows sur la page de téléchargement du site de SQLite (http://www.sqlite.org/download.html).

Parmi les autres logiciels, je vous recommande « SQLite Database Browser » (http://sqlitebrowser.sourceforge.net/) qui est graphique, tout simple et existe aussi bien pour Linux que pour windows.

Ces deux solutions existant sous Linux et windows, leur utilisation est exactement identique dans les deux environnements.

Nous allons voir dans cette annexe comment utiliser ces deux outils pour créer une base de données SQLite sans passer par OOo.

Utilisation de « sqlite »

Il faut ouvrir un terminal et aller dans le dossier où vous voulez créer votre base de données. Ensuite saisissez les instructions suivantes :

$ sqlite nomdemabase

SQLite version 2.8.12

Enter ".help" for instructions

sqlite> .database

sqlite> .exit

Vous pouvez alors vérifier que le fichier a bien été créé dans votre répertoire. Le nom du fichier n'a pas besoin d'extension, mais vous pouvez lui donner l'extension « .db » afin de repérer qu'il s'agit d'une base de données.

Le programme en ligne de commande « sqlite » permet également de créer les tables et les index, de saisir et d'afficher des données, et de faire des requêtes, tout ceci de manière bien plus puissante qu'avec OpenOffice.org . Mais cela nécessite de connaître le langage SQL, et il est plus pratique pour les novices de réaliser ces opérations depuis OpenOffice.org.

Utilisation de « SQLite Database Browser »

Après avoir décompacté l'archive, il faut lancer l'exécutable « sqlitebrowser » et sélectionner « File / New Database » ou l'icône correspondante :

Ensuite, il suffit de choisir le répertoire, de rentrer le nom du fichier puis de cliquer sur « Save ».

Ce programme permet aussi de créer les tables, les champs et les index, de saisir des données et de les visualiser, Dans ce cas aussi, on préférera donc le faire ultérieurement à partir de OpenOffice.org.

Il permet cependant de compacter une base de données après qu'on en ait supprimé beaucoup d'enregistrements, ou de modifier une table.

Ouvrez d'abord votre fichier de données. Pour le compacter, allez dans « File / Compact Database ». Pour modifier une table, allez dans « Edit / Modify Table » puis choisissez la table puis le champ à modifier. Attention, la modification de tables dans SQLite Data Browser passe en réalité par une recréation de la nouvelle table incorporant les modifications, puis par une recopie des données d'une table dans l'autre. Ceci est invisible pour l'utilisateur, donc bien pratique, mais si la table contient beaucoup de données, l'opération ne sera pas instantanée.

Crédits

Auteur : Yves Chaufour

Remerciements : Je remercie tout particulièrement Christian Werner, l'auteur du driver ODBC pour SQLite. Lorsque j'ai commencé à tester l'utilisation d'une base SQLite avec OpenOffice.org grâce à son driver, j'ai rencontré de grandes difficultés dues à des bugs et à des limitations très gênantes du driver. J'ai pris le parti de signaler tous mes problèmes à l'auteur. Celui-ci m'a répondu patiemment et a corrigé un à un tous les problèmes que je lui avais signalé. Depuis il a sorti quatre nouvelles versions de son driver (à ce jour), ce qui permet maintenant d'utiliser une base SQLite de manière tout à fait satisfaisante avec OpenOffice.org.

Je remercie également Tony Galmiche et Serge Le Louarne qui se sont intéressés au sujet et qui ont testé l'utilisation d'une base SQLite en même temps que moi. Leurs problèmes et leurs remarques ont donc grandement contribué à la rédaction de ce document, qu'ils ont également accepté de relire.

Merci également à Laurent Godard, Christophe Fichot et Philippe Lefevre pour leur tests et relectures.

Intégré par : Sophie Gautier

Dernière modification : 03/09/2004

Contacts : Projet Documentation OpenOffice.org - Fr.OpenOffice.org

Licence

Appendix

Public Documentation License Notice

The contents of this Documentation are subject to the Public Documentation License Version 1.0 (the "License"); you may only use this Documentation if you comply with the terms of this License. A copy of the License is available at http://www.openoffice.org/licenses/PDL.html.

The Original Documentation is “Utilisation d'une base de données SQLite avec OpenOffice.org”. The Initial Writer of the Original Documentation is Yves Chaufour Copyright (C)2004. All Rights Reserved. (Initial Writer contact(s):yves.chaufour@wanadoo.fr).

NOTE: The text of this Appendix may differ slightly from the text of the notices in the files of the Original Documentation. You should use the text of this Appendix rather than the text found in the Original Documentation for Your Modifications.

OpenOffice.org Documentation Project How-To

Fr.OpenOffice.org	8 / 19

Sophie Gautier

2004-03-20T21:05:37