Open Office 2.0 / Base & HSQLDB
Open Office 2.0 / Base & HSQLDB
Application au moteur de BD HSQLDB intégré à OpenOffice
Mise à jour du moteur de HSQLDB v1.8.0 sous
OpenOffice 2.0
Etape 1 : Copie des nouveaux
programmes via l’explorateur de Windows
Etape 2 : Dans OpenOffice Base
Déclarer ces nouveaux programmes
Déclarer un nouvel espace de travail pour les bases
de données
Déclarer un nouvel espace de travail pour les autres
documents
Copie de la base dans
d:/data/idx/idx
Ouverture de d:/data/idx/idx avec
OOo
./demo/runManager.bat
./demo/runServer.bat
./demo/runUtil.bat
./demo/runWebServer.bat
./demo/runManagerSwing.bat
Après observation de la version 0 de HSQLDB qui fonctionnait très bien, changement de la syntaxe
@java
-classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager %1 %2 %3 %4 %5 %6
%7 %8 %9
par la syntaxe (sur une seule ligne il va de soit)
java -Drepl=true -cp
..\lib\hsqldb.jar;..\lib\javagroups-core;..\lib\xercesimpl-2.1.0.jar;..\lib\xercesxmlapi-2.1.0.jar
org.hsqldb.util.DatabaseManager %1 %2 %3 %4 %5 %6 %7 %8 %9
Fichiers concernés :
./demo/runManagerSwing.bat
MgrDB.bat
lancer MgrDB.bat

Ce fichier de commande commence par nous placer dans le répertoire data
Puis il lance le programme java dont les caractéristiques sont les suivantes
Fichiers utilisés pour le class path :
-
hsqldb.jar Sources principaux du
programme
- javagroups-core Je ne sais pas mais je l’ai copié depuis la version hsqldb_r_demo qui fonctionnait (*)
- xercesimpl-2.1.0.jar Parseur Xml, je l’ai copié depuis la version hsqldb_r_demo qui fonctionnait (*)
- xercesxmlapi-2.1.0.jar Parseur xml, je l’ai copié depuis la version hsqldb_r_demo qui fonctionnait (*)
(*) pour
OpenOffice il s’agit des classes
xalan.jar, xcercesImpl.jar et
xml-apis.jar. se référer au paragraphe suivant.
Nom de la classe principale (contenant le main):
- org.hsqldb.util.DatabaseManager
Argument de 1 à 9 étant les valeurs transmises dans le formulaire « connect »:
Recent: boite à liste des connexions récemment
utilisées, la première fois elle est égale à une seule valeur «Recent setting…»
Setting Name : Donner un nom de connexion,
ainsi la prochaine fois il apparaîtra dans la boite à liste Recent (ex toto)
Type : se referer au chapitre 1 de la doc
officielle (http://archiifk.mageos.com/OOo/Base/Base.htm)
Driver : ne rien changer
url : remplacer
jdbc:hsqldb:file:<database/path ?> par jdbc:hsqldb:file:toto/.
Remarque : la base toto sera créée dans le répertoire data, puisque le fichier de commande nous à positionné dans ce répertoire. Pour une base déjà créée, indiquer d’abord le type avant d’utiliser la boite à liste Recent.
Click sur OK

immédiatement le répertoire toto et créé avec un certains nombre de fichiers.

Se placer dans le répertoire contenant les classes java associées aux programmes d’OpenOffice.
Exemple si OpenOffice est installé dans le répertoire C:\Logiciel\OOo
Se placer dans le répertoire C:\Logiciel\OOo\appli\program\classes
Créer le fichier OOobd_mgr.bat, Contenant la commande (sur une seule ligne il va de soi)
java -Drepl=true -cp hsqldb.jar;sdbc_hsqldb.jar;xercesImpl.jar;xml-apis.jar org.hsqldb.util.DatabaseManager %1 %2 %3 %4 %5 %6 %7 %8 %9
Exécuter le fichier OOobd_mgr.bat

Dans le champ URL remplacer jdbc:hsqldb:file:«database/path?» par
jdbc:hsqldb:file:«Nom_de_votre_BD/chemin_et_nom_de fichier de stockage»
exemple
jdbc:hsqldb:file:tata\..\..\..\..\new\zou
Si la base tata n’existe pas,
trois fichiers sont créés zou.log, zou.properties, zou.lck, dans le répertoire
new qui se trouve quatre niveau plus haut (autrement dit ces fichiers sont
créés dans C:\Logiciel\OOo\new
Si vous passez une requête SQL, le fichier zou.log contient la trace des exécutions, exemple création de la table : create table toto (id integer);

contenu du fichier zou.log obtenu
CREATE
USER SA PASSWORD "" ADMIN
/*C1*/SET
SCHEMA PUBLIC
CONNECT
USER SA
create
table toto (id integer)
vérification :
exécution d’un script donné en exemple :

Cela créé pleins de tables.
Insertion dans toto d’une valeur : INSERT INTO toto VALUES(1)

liste
des valeur de toto : select * from toto ;

Ca à
l’aire de fonctionner.
Copier
les programmes dans un sous répertoire de l’installation de OpenOffice

|
Menu
Outils/Option Aller
dans Java |
|

Cliquer
sur le bouton ClassPath…, puis cliquer sur le bouton Add Archive…

via le
la boite de recherche Windows qui s’est affichée, rechercher le répertoire ou
les programmes on été déposés (dans notre exemple
C:\Logiciel\OOo\appli\program\hsqldb\LIB)
Sélectionner
l’archive puis cliquer sur le bouton ouvrir.
Recommencer
pour toutes les archives du répertoire (Windows ne sait pas faire tous à la
fois !)
Résultat
tous les programmes (archives java exécutable) que nous avons copié via
l’explorateur doivent être déclarés par ce procédé.

Cliquer sur OK pour valider
Cela
revient à redéfinir le répertoire root des documents de travail ou base de
données.
Attention
un seul à la fois.
Par
exemple, je ne travaille que sur mon disque D:\
Mon
disque C:\ étant réservé à l’installation des logiciels*
Menu
Outils/Option ( cf Déclarer ces nouveaux programmes dans la MAJ de HSQLBD)
Aller
dans Java
Cliquer sur le bouton ClassPath…, puis cliquer sur le bouton Add Folder
|
Sélectionner le répertoire Dans mon exemple sur Et cliquer sur OK |
|
Résultat il apparaît dans la liste

Cliquer sur OK pour valider
Menu
Outils/Option ( cf Déclarer ces nouveaux programmes dans la MAJ de HSQLBD)
Aller
dans Paths
Sélectionner
la rubrique Mes documents, et cliquer sur Edit…
Indiquer
le nouveau chemin (dans mon exemple d:\), valider …



Sélectionner JDBC

Indiquer le chemin et base
Comme dans le menu tools/options / Java j’ai déclaré D:\ comme réperoire Root pour mes bases de données, et que j’ai copié ma base dans d:/data/idx/idx, logiquement mon chemin est hsqldb:file:data/idx/idx et bien sur mon driver n’a pas changé il reste org.hsqldb.jdbcDriver

Indiquer utilisateur et cocher la case mot de passe si vous en avez mis un.

Bah ça ne marche pas complètement !!! .
Je ne comprends pas pourquoi, mais pour le Root il se base sur l’endroits ou se trouve HSQLDB.jar et javagroups-core.jar
En plus j’ai du supprimer le répertoire D:\ pour ne laisser que d:\Java
Ce qui fait que mon chemin est hsqldb:file:idx/idx et mon driver est org.hsqldb.jdbcDriver
hsqldb:file:idx/idx
org.hsqldb.jdbcDriver



Si quelqu’un sait m’expliquer pour quoi ?