This document in English.
L’utilisation de ce logiciel vous soumet à nos Conditions d’utilisation
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.
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:
Quelle que soit la plateforme, si vous avez installé LibreOffice depuis le site de téléchargement de LibreOffice, la version minimale de LibreOffice est 7.0.
Sous Linux si vous avez utilisé le gestionnaire de paquets pour installer LibreOffice, la version minimale de LibreOffice est 6.0. Cependant, vous devez vous assurer que la version de Python fournie par le système n’est pas inférieure à 3.8.
De plus, vous pouvez rencontrer les problèmes suivants:
sudo apt remove libreoffice-sdbc-hsqldb
(pour désinstaller le paquet libreoffice-sdbc-hsqldb)sudo apt remove libhsqldb1.8.0-java
(pour désinstaller le paquet libhsqldb1.8.0-java)
Si vous souhaitez quand même utiliser la fonctionnalité HsqlDB intégré fournie par LibreOffice, alors installez l’extension HyperSQLOOo.pip install --upgrade <package-name>
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.
soffice
et en utilisant la combinaison de touches Ctrl + C
si après l’arrêt de LibreOffice, le terminal n’est pas actif (pas d’invité de commande).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.
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://.
Dans LibreOffice / OpenOffice aller au menu: Fichier -> Nouveau -> Base de données
A l’étape: Sélectionner une base de données
A l’étape: Paramètres de connexion
file:///tmp/testdb;shutdown=true;hsqldb.default_table_type=cached;get_column_name=false
file:///c:/tmp/testdb;shutdown=true;hsqldb.default_table_type=cached;get_column_name=false
java -cp hsqldb.jar org.hsqldb.server.Server --database.0 file:///tmp/testdb --silent false
java -cp hsqldb.jar org.hsqldb.server.Server --database.0 file:///c:/tmp/testdb --silent false
hsql://localhost/
A l’étape: Paramétrer l’authentification de l’utilisateur
Si la connexion a réussi, vous devriez voir cette fenêtre de dialogue:
Maintenant à vous d’en profiter…
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:
SHUTDOWN COMPACT
ou SHUTDOWN SCRIPT
.Maintenant votre base de données est à jour.
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 de la base de données sous jacente est accessible dans Base par le menu: Administration -> Gestion des utilisateurs
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.
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
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
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.
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:
file:///home/prrvchr/testdb/hsqldb/db;hsqldb.default_table_type=cached;create=true
C:\Utilisateurs\prrvc\testdb\hsqldb\db;hsqldb.default_table_type=cached;create=true
file:///home/prrvchr/testdb/h2/db
C:\Utilisateurs\prrvc\testdb\h2\db
file:///home/prrvchr/testdb/sqlite/test.db
C:/Utilisateurs/prrvc/testdb/sqlite/test.db
/home/prrvchr/testdb/derby;create=true
C:\Utilisateurs\prrvc\testdb\derby;create=true
embedded:/home/prrvchr/testdb/firebird?createDatabaseIfNotExist=true
embedded:C:\Utilisateurs\prrvc\testdb\firebird?createDatabaseIfNotExist=true
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:
source/jdbcDriverOOo/
build.properties
afin que les propriétés office.install.dir
et sdk.dir
pointent vers les dossiers d’installation de LibreOffice et de son SDK, respectivement.ant
dist/
LibreOffice 24.2.1.2 (x86_64)- Windows 10
LibreOffice 7.3.7.2 - Lubuntu 22.04
LibreOffice 24.2.1.2 - Lubuntu 22.04
LibreOffice 24.8.0.3 (X86_64) - Windows 10(x64) - Python version 3.9.19 (sous Lubuntu 22.04 / VirtualBox 6.1.38)
Je vous encourage en cas de problème
de créer un dysfonctionnement
J’essaierai de le résoudre
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:
xdbc:*
xdbc:hsqldb:*
xdbc:sqlite:*
xdbc:mariadb:*
xdbc:...
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: