jdbcDriverOOo logo Documentation

This document in English.

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

version 1.4.6

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 ou Derby, 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 version 11 ou ultérieure.
Je vous recommande Adoptium comme source d’installation de Java.

Si vous utilisez le pilote HsqlDB avec LibreOffice sous Linux, alors vous êtes sujet au dysfonctionnement #139538. Pour contourner le problème, veuillez désinstaller les paquets avec les commandes:

Si vous souhaitez quand même utiliser la fonctionnalité HsqlDB intégré fournie par LibreOffice, alors installez l’extension HyperSQLOOo.

Sous Linux et macOS les paquets Python utilisés par l’extension, peuvent s’il sont déja installé provenir du système et donc, peuvent ne pas être à jour.
Afin de s’assurer que vos paquets Python sont à jour il est recommandé d’utiliser l’option Info système dans les Options de l’extension accessible par:
Outils -> Options -> LibreOffice Base -> Pilote JDBC pur Java -> Options du pilote UNO -> Voir journal -> Info système
Si des paquets obsolètes apparaissent, vous pouvez les mettre à jour avec la commande:
pip install --upgrade <package-name>

Pour plus d’information voir: Ce qui a été fait pour la version 1.1.0.


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.


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 ou Derby 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:


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:

Ce qui a été fait pour la version 0.0.1:

Ce qui a été fait pour la version 0.0.2:

Ce qui a été fait pour la version 0.0.3:

Ce qui a été fait pour la version 0.0.4:

Ce qui a été fait pour la version 1.0.0:

Ce qui a été fait pour la version 1.0.1:

Ce qui a été fait pour la version 1.0.2:

Ce qui a été fait pour la version 1.0.3:

Ce qui a été fait pour la version 1.0.4:

Ce qui a été fait pour la version 1.0.5:

Ce qui a été fait pour la version 1.0.6:

Ce qui a été fait pour la version 1.0.7:

Ce qui a été fait pour la version 1.0.8:

Ce qui a été fait pour la version 1.1.0:

Ce qui a été fait pour la version 1.1.1:

Ce qui a été fait pour la version 1.1.2:

Ce qui a été fait pour la version 1.1.3:

Ce qui a été fait pour la version 1.1.4:

Ce qui a été fait pour la version 1.1.5:

Ce qui a été fait pour la version 1.1.6:

Ce qui a été fait pour la version 1.2.0:

Ce qui a été fait pour la version 1.2.1:

Ce qui a été fait pour la version 1.2.2:

Ce qui a été fait pour la version 1.2.3:

Ce qui a été fait pour la version 1.2.4:

Ce qui a été fait pour la version 1.3.0:

Normalement, je suis arrivé à couvrir toute l’étendue de l’API UNO (com.sun.star.sdbc, sdbcx et sdb), ce qui à pris pas mal de temps, mais je ne pensais pas au départ y arriver.

Ce qui a été fait pour la version 1.3.1:

Ce qui a été fait pour la version 1.3.2:

Désormais l’API UNO SDBCX peut être utilisée pour la création de bases de données, comme c’est le cas pour les dernières versions des extensions utilisant jdbcDriverOOo. Il est possible de créer des tables, grâce à l’API UNO, avec les caractéristiques suivantes:

L’utilisation de l’API UNO pour créer des bases de données vous permettra d’utiliser du code indépendant de la base de données sous-jacente.

Les clients utilisant le pilote jdbcDriverOOo peuvent accéder aux fonctionnalités du pilote JDBC sous-jacent à l’aide de la méthode XDriver.getPropertyInfo() afin d’accéder au paramètre nécessaire lors de la création de tables et d’afficher correctement les privilèges. Ces paramètres étant accessibles directement par le pilote, peuvent être obtenus avant toute connexion, et permettent donc la création de la base de données lors de la première connexion.

Ce qui a été fait pour la version 1.3.3:

Ce qui a été fait pour la version 1.4.0:

Ce qui a été fait pour la version 1.4.1:

Ce qui a été fait pour la version 1.4.2:

Ce qui a été fait pour la version 1.4.3:

Ce qui a été fait pour la version 1.4.4:

Ce qui a été fait pour la version 1.4.5:

Ce qui a été fait pour la version 1.4.6:

Que reste-t-il à faire pour la version 1.4.6: