FR/Documentation/How Tos/Utiliser SQLite Avec OpenOffice.org

From Apache OpenOffice Wiki
Jump to: navigation, search

Introduction

OpenOffice Base fournit les fonctions pour se connecter à d'autres bases de données que la base de données par défaut HSQL. Ce tutoriel est conçu pour vous guider à travers les étapes pour se connecter à un fichier de base de données SQLite.


Qu'est-ce que SQLite?

SQLite est un moteur de base de données standard qui implémente les caractéristiques de SQL92.

À la différence de PostgreSQL et MySQL, SQLite stocke toute la base de données avec ses tables dans un seul fichier.

Autres bénéfices: L'accès à la base de données ne nécessite pas un serveur de base de données, il est possible de partager librement les fichiers de base de données entre machines en utilisant différents octets de contrôle. La taille des bases de données peut atteindre jusqu'à 2 teraoctets (241 octets).

De plus, c'est rapide un moteur rapide (deux fois plus que PostgreSQL et MySQL pour la plupart des opérations) et utilise une empreinte mémoire réduite.

Il est possible de gérer les données des manières suivantes:

  1. Via une librairie C/C++ Linux ou une DLL Windows.
  2. Via un programme en ligne (sqlite: disponible sous Linux et Windows) rendant possible la création et la gestion des fichiers des bases de données.
  3. Via le module PHP SQLite ou bien, si vous en disposez, de PHP version 5 en interne à une base de données SQLite.
  4. Via ODBC (Linux et Windows) qui permet à n'importe quelle application de supporter ce standard pour atteindre une base de données SQLite.
  5. En utilisant le contrôleur expérimental SDBC SQLite

Ce guide aborde ODBC utilisé par OpenOffice.org pour attacher les bases de données et SQLite, en particulier.

Pourquoi utiliser SQLite avec OpenOffice.org?

Utiliser SQLite dispose de nombreux avantages:


  • La base de données se trouve dans un seul fichier, à la différence de dBASE qui crée un fichier par table, ce qui facilite l'échange de base de données entre utilisateurs.
  • SQLite n'a pas besoin de Java JRE ou SDK pour son support.
  • Pas besoin d'un serveur (local ou distant) pour accéder à la base de données.
  • Il existe des contrôleurs ODBC pour *NIX et Windows, ce qui permet aux utilisateurs des deux environnements d'accéder aux données et de les échanger.
  • Il est possible de développer facilement des interfaces graphiques sophistiquées, telles celles de msaccess, en utilisant les formulaires, requêtes, états et macros de OpenOffice.org. Ces interfaces sont stockées séparémment dans des fichiers .odb et peuvent être échangées indépendamment des données entre des utilisateurs UNIX et Windows.


et de quelques inconvénients:

  • Il n'est pas possible de modifier la structure d'une table SQLite après sa création. Ce qui signifie que vous ne pouvez pas facilement ajouter des champs ni modifier leurs propriétés une fois la table créée. Vous devez donc préparer la structure de vos table avant de les créer.
  • OpenOffice.org a besoin d'utiliser le contrôleur ODBC pour accéder à une base de données SQLite, ce qui rend cette opération quelque peu compliquée. Elle doit être d'abord déclarée dans ODBC et ensuite dans OpenOffice.org. Le contrôleur natif SDBC devrait corriger la situation quand il sera prêt à la production.
  • Il n'est pas possible de créer le fichier de base de données initial avec OpenOffice.org. Il faut utiliser d'autres outils.

Pour faire court, les principaux avantages à utilser SQLite avec OpenOffice.org sont le format de stockage de données et la portabilité d'un environnement à un autre. Dans la liste des inconvénients, les deux derniers ne sont pas particuliers à SQLite, ce sont des exigences de l'utilisation de ODBC. Cependant ils ne sont pas si handicapant car ils ne se présentent pas au moment de la création de la base de données.

Documentation note.png SQLite peut être une solution pour tous ceux qui éprouvent quelques difficultés dans l'utilisation des fichiers MDB sous Linux ou dans l'installation de MySQL ou autres serveurs RDBMS sur leur station de travail.

Installation

Documentation linux.png Sous Linux


plate-forme ODBC Unix

Établir la connexion à la base de données SQLite par UnixODBC. ODBC est une spécification ouverte qui fournit aux applications une solide interface vers une variété de sources de données. UnixODBC est une implémentation de cette spécification pour les plate-formes autres que Windows.


Vous pouvez installer unixodbc en utilisant votre gestionnaire de distribution de paquets ou bien en téléchargeant les sources depuis le Site Web UnixODBC. La distribution unixodbc-bin fournit une application Interface Graphique Utilisateur destinée à la configuration de ce qui sera utilisé plus bas. Sous Ubuntu ou distributions Linux similaires vous pouvez utiliser la commande:

sudo apt-get install unixodbc unixodbc-bin

SQLite

Évidemment vous devrez installer SQLite s'il n'est pas encore installé puisque ce sera la base de donnée à laquelle vous voulez vous connecter.


Vous pouvez l'installer avec votre gestionnaire de distribution de paquets. Le paquet devrait s'appeler sqlite ou sqlite3. Sous Ubuntu:

sudo apt-get install sqlite3

Si vous préférez, vous pouvez toujours télécharger et installer la dernière version depuis la source.

Contrôleur ODBC SQLite

Pour que SQLite fonctionne à travers les standards vous aurez également besoin d'installer et configurer le Contrôleur ODBC SQLite.

Ce contrôleur est disponible dans Ubuntu dans le paquet libsqliteodbc.

Si vous préférez, vous pouvez télécharger la source et la compiler vous-même. Pour la construire avec succès, vous aurez besoin d'installer les paquets unixodbc-dev et libsqlite3-dev.

Pour terminer l'installation, le contrôleur doit être intégré à unixODBC. Pour cela, lancer l'utilitaire ODBCConfig à la racine dans une fenêtre terminal:

sudo ODBCConfig
Documentation note.png Si vous ne trouvez pas ODBCConfig, vérifiez que vous avez aussi installé le paquet unixODBC-bin package en même temps que l'installation des Contrôleurs ODBC.

Maintenant apparait l'interface graphique pour gérer la configuration. Doc howto sqlite odbcadmin.png

Cliquez sur l'onglet Drivers et choisissez Add... puis remplir les champs comme suit:

Name: SQLite
Description: SQLite for ODBC
Driver: /usr/lib/libsqlite3odbc.so
Driver64: /usr/lib64/libsqlite3odbc.so
Setup: /usr/lib/libsqlite3odbc.so
Setup64: /usr/lib64/libsqlite3odbc.so
Documentation note.png Si vous utilisez encore une version de libsqlite 2.8.x les noms des contrôleurs seront différents. Essayez de parcourir le répertoire en cliquant sur la flêche située à la droite et en choisir un qui semble adapté.

Puis confirmer en utilisant l'îcone à cocher dans le coin supérieur gauche de la fenêtre. Votre nouveau contrôleur apparaîtra dans l'onglet Drivers tab: Doc howto sqlite odbcadmin-2.png

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

Pour ceux qui n'ont pas ODBCConfig ou ceux qui préfèrent effectuer la configuration manuellement, il est nécessaire d'éditer le fichier /etc/odbcinst.ini en tant que racine et ajouter les lignes suivantes:

[SQLite]
Description= ODBC for SQLite
Driver= /usr/lib/libsqliteODBC.so
Driver64= /usr/lib64/libsqliteODBC.so
Setup= /usr/lib/libsqliteODBC.so
Setup64= /usr/lib64/libsqliteODBC.so
FileUsage= 1
CPTimeout= 
CPReuse= 

Sous Windows

Documentation windows.png Sous Windows l'installation et la configuration sont bien plus faciles. Télécharger simplement sqliteODBC.exe, l'installeur va configurer les contrôleurs ODBC y compris les configurations SQLite. Il fournit également l'outil de commande de ligne de commande sqlite pour créer et modifier les bases de données.

Configuration d'une base de donnée SQLite

Créer un fichier de base de données SQLite

Il n'est pas possible de créer un fichier initial de base de données dans OpenOffice.org. Il faut le faire en utilisant soit l'utilitaire “sqlite” dans la ligne de commande, soit en utilisant un outil de gestion graphique. Une liste des Interfaces Graphiques est disponible à SQLite.org

L'utilitaire "sqlite" devrait déjà être installé si vous utilisez Linux et avez installé SQLite depuis rpm. Pour les autres systèmes *NIX, vous devez construire SQLite depuis la source que vous pouvez trouver sur [1]

L'utilisation et les performances sous Linux et Windows sont identiques.

Utiliser SQLite

Documentation linux.png Ouvrez une fenêtre de terminal et allez dans le répertoire dans lequel vous voulez créer votre base de données. Lancez sqlite avec le nom de fichier de votre base de données en argument (ex.: $ sqlite mydatabase
Documentation windows.png Lancez sqlite depuis le menu Démarrer ou depuis son lieu d'installation. Une boîte de dialogue d'ouverture de fichier standard va s'ouvrir et vous demander de choisir un fichier de base de données.

Si ce fichier n'existe pas encore, il sera créé automatiquement. En utilisant sqlite, vous pouvez aussi créer des tables et modifier votre base de données avec les commandes SQL standards:

$ sqlite <filename of database>
SQLite version 2.8.12
Enter ".help" for instructions
sqlite> CREATE TABLE mytable (id INT, text VARCHAR(100));
sqlite> .exit
Documentation note.png Vous pouvez alors vérifier que le fichier a été effectivement créé dans votre système de fichier. Le nom de fichier n'a pas besoin d'une extension de fichier, mais vous pouvez lui attribuer l'extension db afin de l'identifier facilement comme une base de donnée.

Il est possible de créer des tables et indices, de saisir ou ajouter des données, de créer des requêtes en utilisant sqlite dans le programme de ligne de commande si vous connaissez le langage SQL - Il est, cependant, plus pratique pour les débutant de mener à bien ces opérations plus tard en utilisant OpenOffice.

Utilisation du navigateur de base de données SQLite

Il existe aussi un utilitaire graphique pour créer et manipuler des bases de données SQLite appelé sqlitebrowser.

Vous pouvez l'installer en utilisant votre gestionnaire de distribution de paquets.

Après avoir décompressé le fichier, lancez sqlitebrowser et choisissez File/New Database ou bien l'îcone correspondant: Doc howto sqlite dbbrowser.png

Choisissez le répertoire dans lequel placer le fichier puis saisissez le nom du fichier de base de données et cliquez sur Save.

Avec ce programme vous pouvez également créer les tables, les champs et les indices, accéder aux données et les visualiser. Bien que sqlitebrowswer soit capable d'effectuer ces actions, il a l'inconvénient de ne pas montrer la liste complète des types de champs au cours de leur création. Dans ce cas, il peut être préférable de le faire plus tard en utilisant OpenOffice.org.

ODBC-Configurer une nouvelle base de données

Après avoir créé une nouvelle base de données SQLite plus haut, vous devez maintenant configurer cette base de données dans ODBC afin de pouvoir s'y connecter ensuite dans OpenOffice.

Documentation linux.png Sous Linux:

Lancer ODBCConfig une nouvelle fois en tant qu'utilisateur normal et aller dans l'onglet User DSN. Ici, ajouter une nouvelle entrée. Apparaît une nouvelle fenêtre dans laquelle vous devez choisir le contrôleur SQLite que vous avez configuré plus tôt. Dans la fenêtre suivante, comme ci-dessous, saisissez le nom pour cette connexion (par exemple le nom de votre base de données) le chemin d'accès complet à la base de données que vous avez créé antérieurement. Doc howto sqlite driverproperties-2.png

Validez les données à l'écran, cliquez sur la marque de validation. Vous devriez voir maintenant la nouvelle source de données dans l'onglet User DSN.

Si vous n'avez pas ODBCConfig ou si, simplement, vous préférez configurer manuellement, lancer votre éditeur favori, ouvrez (ou créez) le fichier odbc.ini dans votre répertoire racine et ajoutez-y les lignes suivantes:

[My Base]
Description= My test database
Driver= SQLite
Database= /home/<user>/basename.db
Timeout= 1000
StepAPI= No
Documentation note.png Si cette source de données doit être utilisée par d'autres utilisateurs sur le système, lancez ODBCConfig en tant que racine et ajoutez cette source dans l'onglet System DSN ou data Source system; ou bien créez un fichier /etc/odbc.ini file.

Vous pouvez maintenant accéder à votre base de données avec OpenOffice.org!

Documentation windows.png Sous Windows:

Vous accédez à la configuration au travers du dialogue OpenOffice à la prochaine étape, continuez la lecture.

Connecter OpenOffice à une base de données SQLite

Vous avez passé un bon moment à installer et configurer d'autres choses. Encore quelques configurations Windows et bientôt nous pourrons passer à OpenOffice.

Lancer OpenOffice Base et à la première étape 1. Choisissez la base de données choisissez la troisième option, se connecter à une base de données existante en utilisant ODBC.

Se connecter à une base de données existante.
 ODBC

À la seconde étape 2. Configurer la connexion ODBC vous pouvez choisir votre base de données SQLite. En cliquant sur Parcourir vous devriez obtenir une liste de toutes les bases de données que vous avez configurées dans ODBC.

Si rien n'apparaît ici, vous avez un problème. Vérifiez que vous avez vraiment configuré la base de données dans ODBC et que les contrôleurs sont correctement configurés comme décrit.

Documentation windows.png Sous Windows:

Avant de trouver votre base de données listée ici, vous devez l'enregistrer avec ODBC comme mentionné plus haut. Cliquez sur Organiser... dans le coin inférieur droit de la fenêtre. Doc howto sqlite odbcdriver-windows-1.png

Dans l'onglet DSN Utilisateur (ou le Système DSN), cliquez sur Ajout... afin de configurer votre fichier base de données. Doc howto sqlite odbcdriver-windows-2.png

Donnez à votre base de données un nom significatif en tant que Nom de Source de données - Ce sera le nom sous lequel vous trouverez votre base de données dans la liste. Pour Nom de base de données, recherchez le fichier de base de données SQLite que vous avez créé auparavant. Laissez le reste avec ses valeurs par défaut et cliquez ok. Doc howto sqlite odbcdriver-windows-3.png

La base de données sera maintenant listée dans l'Administrateur de Sources de données ODBC et après avoir quitté cette fenêtre vous devriez aussi être maintenant capable de sélectionner cette base de donnée dans le dialogue OpenOffice Base.

Travailler sur la base de données avec OpenOffice

Le reste c'est juste OpenOffice Base comme vous le connaissez.

Veuillez noter quelques points:

Il est possible de créer de nouvelles tables en utilisant OpenOffice. Ces tables - et les données que vous y saisissez - sont sauvegardées dans un fichier de base de données SQLite externe à laquelle vous connecté votre fichier .odb OpenOffice.

Champs définis comme type "integer" sont en auto-increment, c'est à dire que sa valeur augmente automatiquement à chaque ajout d'un nouvel enregistrement dans cette table.

Documentation caution.png Une fois que vous avez sauvegardé votre table, vous ne pouvez pas la modifier! Par exemple, vous ne pourrez plus modifier les propriétés des champs, ni en ajouter, ni en supprimer!

Cette contrainte plutôt limitante est particulière à SQLite, qui ne gère pas la commande SQL ALTER COUNTS, pas au contrôleur ODBC. Cette limitation a été conçue par les auteurs dans le but de concevoir le moteur de base de données standard aussi léger que possible. Cependant, cette limitation pourrait être éliminée dans une version future. Pour cette raison, il est conseillé de vérifier avec attention la structure de votre table avant de l'enregistrer.

Si vous devez modifier une table, la seule solution est de créer une nouvelle table et de la sauvegarder sous un nom différent. Ce faisant, vous pouvez transférer les données de la table originale vers la nouvelle table.

La création et l'utilisation de formulaires, requêtes et rapports sont indépendants de la source de données que vous utilisez. Ils vont fonctionner exactement comme avec la base de données HSQL intégrée par défaut et continueront d'être sauvegardées dans un fichier odb. Pour plus d'information sur le sujet, veuillez consulter l'autre documentation.

Documentation caution.png Si vous voulez utiliser des sous-formulaires vous devez d'abord activer le "paramêtre substitution".

Sélectionnez "Éditer/Base de données/Réglages Avancés..." dans le menu principal de votre fenêtre OpenOffice. Ici, dans l'onglet "Réglages Spéciaux" cochez l'option "Remplacer les paramêtres nommés par '?'". Vous devrez probablement redémarrer OpenOffice mais ensuite vous pourrez utiliser les sous-formulaires sans problème.

Échanger des bases de données entre utilisateurs

Grâce à la disponibilité du contrôleur sqliteODBC à la fois pour Linux et Windows (tout comme OpenOffice.org, bien sûr!), il est possible d'échanger facilement une base de données entre des utilisateurs de deux environnements. Il est nécessaire que chacun aient installé le contrôleur ODBC qui est au courant du fichier cible Sqlite défini comme source de données dans OpenOffice.org. De même, les fichiers OpenOffice Base (.odb), qui contiennent les formulaires et les macros, peuvent aussi s'échanger entre utilisateurs des deux environnements.

Documentation caution.png Si l'on veut que les formulaires fonctionnent correctement pour chaque utilisateur, il est absolument nécessaire que chaque utilisateur applique exactement le même nom à la source de données pendant sa création.
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools