jdbcDriverOOo logo Documentation

This document in English.

L’utilisation de ce logiciel vous soumet à nos Conditions d’utilisation

version 1.5.0

Introduction:

jdbcDriverOOo fait partie d’une Suite d’extensions LibreOffice et/ou OpenOffice permettant de vous offrir des services inovants dans ces suites bureautique.

Cette extension est la transcription en Java pur de l’API java.sql.* vers l’API com.sun.star.sdbc, com.sun.star.sdbcx et com.sun.star.sdb de UNO. Elle vous permet d’utiliser le pilote JDBC de votre choix directement dans Base.
Elle embarque les pilotes pour les base de données suivantes:

Grâce aux pilotes fournissant un moteur de base de données intégré tels que: HsqlDB, H2, SQLite, Derby ou Jaybird, il est possible dans Base de créer et gérer très facilement des bases de données, aussi facilement que de créer des documents Writer.
Vous trouverez les informations nécessaires à la création d’une base de données avec ces pilotes dans la section: URL de connexion

Etant un logiciel libre je vous encourage:

Bref, à participer au developpement de cette extension.
Car c’est ensemble que nous pouvons rendre le Logiciel Libre plus intelligent.


Prérequis:

jdbcDriverOOo est un pilote JDBC écrit en Java.
Son utilisation nécessite l’installation et la configuration dans LibreOffice d’un JRE ou JDK Java version 17 ou ultérieure.
Je vous recommande Adoptium comme source d’installation de Java.

La version minimale de LibreOffice prise en charge par l’extension jdbcDriverOOo dépend de la façon dont vous avez installé LibreOffice sur votre ordinateur:


Installation:

Il semble important que le fichier n’ait pas été renommé lors de son téléchargement.
Si nécessaire, renommez-le avant de l’installer.

Redémarrez LibreOffice après l’installation.
Attention, redémarrer LibreOffice peut ne pas suffire.

Après avoir redémarré LibreOffice, vous pouvez vous assurer que l’extension et son pilote sont correctement installés en vérifiant que le pilote io.github.prrvchr.jdbcDriverOOo.Driver est répertorié dans le Pool de Connexions, accessible via le menu: Outils -> Options -> LibreOffice Base -> Connexions. Il n’est pas nécessaire d’activer le pool de connexions.

Si le pilote n’est pas répertorié, la raison de l’échec du chargement du pilote peut être trouvée dans la journalisation de l’extension. Cette journalisation est accessible via le menu: Outils -> Options -> LibreOffice Base -> Pilote JDBC Pure Java -> Options de journalisation.
La journalisation Driver doit d’abord être activée, puis LibreOffice redémarré pour obtenir le message d’erreur dans le journal.

N’oubliez pas au préalable de mettre à jour la version du JRE ou JDK Java installée sur votre ordinateur, cette nouvelle version de jdbcDriverOOo nécessite Java version 17 ou ultérieure au lieu de Java 11 auparavant.


Utilisation:

Ceci explique comment utiliser une base de données HsqlDB.
Les protocoles pris en charge par HsqlDB sont: hsql://, hsqls://, http://, https://, mem://, file:// et res://.
Ce mode d’utilisation vous explique comment vous connecter avec les protocoles file:// et hsql://.

Comment créer une nouvelle base de données:

Dans LibreOffice / OpenOffice aller au menu: Fichier -> Nouveau -> Base de données

jdbcDriverOOo screenshot 1

A l’étape: Sélectionner une base de données

jdbcDriverOOo screenshot 2

A l’étape: Paramètres de connexion

jdbcDriverOOo screenshot 3

A l’étape: Paramétrer l’authentification de l’utilisateur

jdbcDriverOOo screenshot 4

Si la connexion a réussi, vous devriez voir cette fenêtre de dialogue:

jdbcDriverOOo screenshot 5

Maintenant à vous d’en profiter…

Comment mettre à jour le pilote JDBC:

Si vous souhaitez mettre à jour une base de données HsqlDB intégrée (un seul fichier odb), veuillez vous référer à la section: Comment migrer une base de données intégrée.

Il est possible de mettre à jour le pilote JDBC (hsqldb.jar, h2.jar, derbytools.jar) vers une version plus récente.
Si vous utilisez HsqlDB comme base de données, procédez comme suit:

  1. Faite une copie (sauvegarde) du dossier contenant votre base de données.
  2. Lancer LibreOffice / OpenOffice et changez la version du pilote JDBC par le menu: Outils -> Options -> LibreOffice Base -> Pilote JDBC pur Java -> Options des pilotes JDBC, par une version plus récente.
  3. Redémarrer LibreOffice / OpenOffice aprés le changement du pilote (hsqldb.jar, h2.jar, derbytools.jar).
  4. Dans Base, aprés avoir ouvert votre base de données, allez au menu: Outils -> SQL et tapez la commande SQL: SHUTDOWN COMPACT ou SHUTDOWN SCRIPT.

Maintenant votre base de données est à jour.


Amélioration dans LibreOffice/OpenOffice Base:

Ce pilote permet dans LibreOffice / OpenOffice Base la gestion des utilisateurs, des rôles (groupes) et de leurs privilèges associés de la base de données sous jacente.

La gestion des utilisateurs et des privilèges dans Base:

La gestion des utilisateurs de la base de données sous jacente est accessible dans Base par le menu: Administration -> Gestion des utilisateurs

jdbcDriverOOo screenshot 6

La gestion des privilèges des utilisateurs de la base de données sous jacente est accessible dans cette fenêtre par le bouton: Modifier les privilèges
Si le privilège est hérité d’un rôle assigné, la case à cocher est de type à trois états.

jdbcDriverOOo screenshot 7

La gestion des rôles (groupes) dans Base:

La gestion des rôles (groupes) de la base de données sous jacente est accessible dans Base par le menu: Administration -> Gestion des groupes

jdbcDriverOOo screenshot 8

La gestion des utilisateurs membres du groupe de la base de données sous jacente est accessible dans cette fenêtre par le bouton: Utilisateurs du groupe

jdbcDriverOOo screenshot 9

La gestion des roles assignés au groupe de la base de données sous jacente est accessible dans cette fenêtre par le bouton: Roles du groupe
Cette fonctionnalité est une extension de l’API UNO et ne sera disponible que si le pilote LibreOffice / OpenOffice sous jacent le permet.

jdbcDriverOOo screenshot 10


URL de connexion:

Certaines bases de données comme HsqlDB, H2, SQLite, Derby ou Firebird via Jaybird permettent la création de la base de données lors de la connexion si cette base de données n’existe pas encore. Cette fonctionnalité rend la création de bases de données aussi simple que celle de documents Writer. Généralement il suffit d’ajouter l’option attendue par le driver à l’URL de connexion. Cette URL de connexion peut être différente selon le système d’exploitation de votre ordinateur (Windows, Linux ou MacOS).
Pour créer une base de données, dans LibreOffice allez dans le menu: Fichier -> Nouveau -> Base de données -> Connecter une base de données existante, puis selon votre choix:


Comment créer l’extension:

Normalement, l’extension est créée avec Eclipse pour Java et LOEclipse. Pour contourner Eclipse, j’ai modifié LOEclipse afin de permettre la création de l’extension avec Apache Ant.
Pour créer l’extension jdbcDriverOOo avec l’aide d’Apache Ant, vous devez:


A été testé avec:

Je vous encourage en cas de problème :confused:
de créer un dysfonctionnement
J’essaierai de le résoudre :smile:


Historique:

Introduction:

Ce pilote a été écrit pour contourner certains problèmes inhérents à l’implémentation UNO du pilote JDBC intégré dans LibreOffice / OpenOffice, à savoir:

Afin de profiter des dernières fonctionnalités offertes par les bases de données et entre autre HsqlDB, il était nécessaire d’écrire un nouveau pilote.

Jusqu’à la version 0.0.3, ce nouveau pilote n’est qu’une surcouche ou emballage (wrapper) en Python autour des services UNO fournis par le pilote LibreOffice / OpenOffice JDBC défectueux.
Depuis la version 0.0.4, il a été complètement réécrit en Java sous Eclipse, car qui mieux que Java peut donner accès à JDBC dans l’API UNO?
Afin de ne pas empêcher le pilote JDBC natif de fonctionner, il se charge lors de l’appel des protocoles suivants:

mais utilise le protocole jdbc:* en interne pour se connecter.

Il permet également d’offrir des fonctionnalités que le pilote JDBC implémenté dans LibreOffice ne fournit pas, à savoir:

Toutes les changements sont consignées dans l’Historique des versions