[fr-users][Base] conversion HSQL vers JBDC

Bonjour,

Ancien d'[users-fr], je suis heureux de pouvoir retrouver, chez LibreOffice, cette liste qui m'a tant aidé.
Cette transition fut un modèle du genre et elle démontre tout le sérieux du modèle libre.

Aujourd'hui encore, j'ai besoin d'un coup de main.
Après moult et moult effort, j'étais enfin parvenu à faire fonctionner une BBD de 11646 enregistrements, en la faisant passer du moteur HSQL (qui marchait mal) au moteur MySQL ou tout allait bien.
L'ennui, c'est que j'ai voulu passer à Windows 7 64 bits et LibreOffice 3.4.0

Rien ne va plus:
J'arrive à ouvrir mon ancienne base HSQL. Par contre, si je la laisse ouverte et que je crée, à côté, une base vierge MySQL, LibreOffice plante brutalement dès que je donne mon mot de passe pour accéder à l'onglet "Tables".

Quelqu'un aurait-il une astuce, sous LibreOffice, pour convertir une base de HSQL vers MySQL ?

Bonsoir,

Bonjour,

Ancien d'[users-fr], je suis heureux de pouvoir retrouver, chez LibreOffice, cette liste qui m'a tant aidé.
Cette transition fut un modèle du genre et elle démontre tout le sérieux du modèle libre.

Aujourd'hui encore, j'ai besoin d'un coup de main.
Après moult et moult effort, j'étais enfin parvenu à faire fonctionner une BBD de 11646 enregistrements, en la faisant passer du moteur HSQL (qui marchait mal) au moteur MySQL ou tout allait bien.
L'ennui, c'est que j'ai voulu passer à Windows 7 64 bits et LibreOffice 3.4.0

Rien ne va plus:
J'arrive à ouvrir mon ancienne base HSQL. Par contre, si je la laisse ouverte et que je crée, à côté, une base vierge MySQL, LibreOffice plante brutalement dès que je donne mon mot de passe pour accéder à l'onglet "Tables".

Quelqu'un aurait-il une astuce, sous LibreOffice, pour convertir une base de HSQL vers MySQL ?

Pour ce qui est de la version 3.4.0 je pense qu'il peut s'agir d'une instabilité et/ou d'un bug. De fait la 3.4.0 n'a pas vocation à la mise en production de par sa nature.
Donc il vaudrait mieux demeurer sous une 3.3.X et tester.
Par ailleurs il se pourrait que ton W7 64bits ne supporte pas les composants mis en oeuvre.

Pour la conversion HSQL vers MySQL je pense que tu dois pouvoir effectuer un dump des tables.

François Gatto

Bonjour,

Ce serait bien de savoir quelle version du connecteur mysql tu utilises
(1.0.0 ou 1.0.1)?

A priori, l'extension de Sun n'est dispo qu'en version 32bits sous Win (sauf
à me tromper), donc je ne serais pas surpris que ça plante. Les devs n'ont
jamais recompilé l'extension, depuis la sortie de LibO, chose que faisait
Sun à chaque nouvelle version, selon les recommandations des devs de mysql
pour la bibliothèque du connecteur.

Alex

Bonjour,

J'utilise LibO 341rc1 en test sous Windows 7 SP1 32 bits avec une connexion directe à mes bases MySQL (version 1.0.1 du connecteur) et je n'ai pas de souci notable.

Peut-être s'agit-il effectivement d'un problème lié à la version 64 bits.

Bernard

Merci François pour la réponse/

Le 22/06/2011 23:07, François Gatto a écrit :confused:

/
Pour ce qui est de la version 3.4.0 je pense qu'il peut s'agir d'une instabilité et/ou d'un bug. De fait la 3.4.0 n'a pas vocation à la mise en production de par sa nature.
Donc il vaudrait mieux demeurer sous une 3.3.X et tester. /

Voilà qui est fait : j'ai réinstallé LibO 3.3.2 le symptôme demeure à l'identique. J'ouvre une première fenêtre avec ma base HSQL.
Je lance Wampserver.
J'ouvre une seconde fenêtre avec ma base MySQL JDBC je clique sur l'icône "Table" et, quand je donne mon mot de passe, les deux fenêtres de LibO se ferment sans préavis.

Par ailleurs il se pourrait que ton W7 64bits ne supporte pas les composants mis en oeuvre.

À moins que ce ne soient les composants mis en oeuvre qui ne supportent pas W7 64bits :wink:

Pour la conversion HSQL vers MySQL je pense que tu dois pouvoir effectuer un dump des tables.

J'ai regardé "dump" : apparemment ça voudrait dire vidage. Comment fait-on ça ?

François Gatto

Pour Alexander :

Ce serait bien de savoir quelle version du connecteur mysql tu utilises
(1.0.0 ou 1.0.1)?

A priori, ce serait plutôt 5.1.16 :

/MySQL Connector/J 5.1.16 (formerly MM.MySQL)

This is a release of MySQL Connector/J, Oracle's dual-
license JDBC Driver for MySQL. For the avoidance of
doubt, this particular copy of the software is released
under the version 2 of the GNU General Public License.
MySQL Connector/J is brought to you by the MySQL team
at Oracle.

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved./

capture

Bonjour Bernard,

J'utilise LibO 341rc1 en test sous Windows 7 SP1 32 bits avec une
connexion directe à mes bases MySQL (version 1.0.1 du connecteur) et
je n'ai pas de souci notable.

Peut-être s'agit-il effectivement d'un problème lié à la version 64 bits.

Normalement, il ne devrait pas y avoir de gros soucis en utilisant un
connecteur 32bits avec un LibO 32bits, mais l'équipe de développeurs de
Mysql conseille (sur le site web de téléchargement) néanmoins la
recompilation systématique de leur bibliothèque (code source
mysql-connector-c) avec celle de l'appli. Dans notre cas, l'extension
était fournie par Sun, qui faisait le nécessaire pour l'extension afin
de correspondre à chaque nouvelle version de OOo. Aujourd'hui ce n'est
plus le cas (du moins tant que Apache OOo ne se sera pas mis en état de
marche), et le connecteur n'est que du 32bits quelque soit l'OS. Ceci,
comme ce fut le cas avec les bibliothèques Java, peut être à la base de
problèmes lorsqu'on a un OS/Appli 64bit qui tente de charger une
bibliothèque 32bits ou gérer la mémoire de celle-ci en pensant qu'il
s'agit d'une bibliothèque 32bits.

Comme LibO n'inclut pas l'extension par défaut dans le processus de
compilation, il n'est pas recompilé. Du coup, on se retrouve avec une
extension qui va vite devenir inexploitable...c'est juste une question
de temps...Pour les distribs Linux, c'est différent, ils recompilent (en
principe) les extensions à tour de bras, mais pour la version
officielle...personne ne semble s'y intéresser.

A noter également que le processus de compilation de LibO n'intègre pas
le téléchargement de la bibliothèque libmysql, contrairement à d'autres
extensions, il faut donc le faire soi-même.

J'ai fait la compil sur MacOS, mais comme sur cet OS on reste toujours
en 32bits pour LibO, l'extension mise à jour sera également en 32bits,
mais il faudrait que d'autres le fassent pour les autres OS. Je ne sais
pas d'ailleurs si l'on ne pourrait pas passer à la version C++ des
sources du connecteur, et quelles modifications cela nécessiteraient. Je
vais faire un essai déjà de compilation avec la source 64bits pour voir
si j'arrive à m'en servir avec un LibO32 et un serveur mysql 64bits.

Alex

Bonjour Lucien,

Pour Alexander :

Ce serait bien de savoir quelle version du connecteur mysql tu utilises
(1.0.0 ou 1.0.1)?

A priori, ce serait plutôt 5.1.16 :

/MySQL Connector/J 5.1.16 (formerly MM.MySQL)

OK, et ton Java c'est du 64 ou 32 ? Pourquoi cette question ?

http://www.oracle.com/technetwork/java/javase/install-windows-64-142952.html

En gros, il faut bien s'assurer que tous les composants soient du même
ordre, pour résumer :

JDK/JRE, Connecteur JDBC et LibO = tous 32bits ou tous 64bits (s'ils
existent).

et ceci, en dehors de tout problème d'instabilité ou bug dans LibO/Base
de manière générale.

Alex

/
OK, et ton Java c'est du 64 ou 32 ? Pourquoi cette question ?

http://www.oracle.com/technetwork/java/javase/install-windows-64-142952.html

En gros, il faut bien s'assurer que tous les composants soient du même
ordre, pour résumer :

JDK/JRE, Connecteur JDBC et LibO = tous 32bits ou tous 64bits (s'ils
existent).

et ceci, en dehors de tout problème d'instabilité ou bug dans LibO/Base
de manière générale.

Alex
/

Je pense que tous mes composants sont en 64 bits, mais je ne suis pas sûr de savoir comment le vérifier.

1. Pour LibO, j'ai installé la seule version disponible sur le site (LibO_3.3.3_Win_x86_install_multi.exe <http://download.documentfoundation.org/libreoffice/stable/3.3.3/win/x86/LibO_3.3.3_Win_x86_install_multi.exe>). Comment savoir si elle est en 32 ou 64 bits. La seule info donnée par le "À propos..." est :/LibreOffice 3.3.2
OOO330m19 (Build:202) tag libreoffice-3.3.2.2/

2. Pour Java, je sais que c'est la version 64 bits car l'archive téléchargée s'appelle jre-6u25-windows-x64. Mais, là aussi le "A propos de...", via l'icône Java du panneau de configuration, n'est pas des plus instructifs : Version 6 Mise à jour 25 (build 1.6.0_25-b06)

3. en ce qui concerne le connecteur JDBC, c'est plus compliqué. Comme tu le dis toi-même, dans ton post précédent :

  Aujourd'hui ce n'est
plus le cas (du moins tant que Apache OOo ne se sera pas mis en état de
marche), et le connecteur n'est que du 32bits quelque soit l'OS.

Donc, je sais qu'il s'agit de la dernière version disponible et qu'elle est fatalement en 32 bits.

Bonjour,

Comme le signale Alexander,

il faut impérativement utiliser le version 32bits de Java.
Ce n'est pas celle-là que tu as téléchargé visiblement.

Yves

Bonjour Bernard,

J'utilise LibO 341rc1 en test sous Windows 7 SP1 32 bits avec une
connexion directe à mes bases MySQL (version 1.0.1 du connecteur) et
je n'ai pas de souci notable.

Peut-être s'agit-il effectivement d'un problème lié à la version 64 bits.
     

Normalement, il ne devrait pas y avoir de gros soucis en utilisant un
connecteur 32bits avec un LibO 32bits, mais l'équipe de développeurs de
Mysql conseille (sur le site web de téléchargement) néanmoins la
recompilation systématique de leur bibliothèque (code source
mysql-connector-c) avec celle de l'appli. Dans notre cas, l'extension
était fournie par Sun, qui faisait le nécessaire pour l'extension afin
de correspondre à chaque nouvelle version de OOo. Aujourd'hui ce n'est
plus le cas (du moins tant que Apache OOo ne se sera pas mis en état de
marche), et le connecteur n'est que du 32bits quelque soit l'OS. Ceci,
comme ce fut le cas avec les bibliothèques Java, peut être à la base de
problèmes lorsqu'on a un OS/Appli 64bit qui tente de charger une
bibliothèque 32bits ou gérer la mémoire de celle-ci en pensant qu'il
s'agit d'une bibliothèque 32bits.

Comme LibO n'inclut pas l'extension par défaut dans le processus de
compilation, il n'est pas recompilé. Du coup, on se retrouve avec une
extension qui va vite devenir inexploitable...c'est juste une question
de temps...Pour les distribs Linux, c'est différent, ils recompilent (en
principe) les extensions à tour de bras, mais pour la version
officielle...personne ne semble s'y intéresser.

A noter également que le processus de compilation de LibO n'intègre pas
le téléchargement de la bibliothèque libmysql, contrairement à d'autres
extensions, il faut donc le faire soi-même.

J'ai fait la compil sur MacOS, mais comme sur cet OS on reste toujours
en 32bits pour LibO, l'extension mise à jour sera également en 32bits,
mais il faudrait que d'autres le fassent pour les autres OS. Je ne sais
pas d'ailleurs si l'on ne pourrait pas passer à la version C++ des
sources du connecteur, et quelles modifications cela nécessiteraient. Je
vais faire un essai déjà de compilation avec la source 64bits pour voir
si j'arrive à m'en servir avec un LibO32 et un serveur mysql 64bits.

Alex

Bonjour Alex,

on se retrouve avec une
extension qui va vite devenir inexploitable...

Tu m'inquiètes. Quelle solution de secours éventuelle ? Utiliser une connexion JDBC ou ODBC ? Ou bien le problème de "logistique" est-il identique ?

Bernard

Bonjour Bernard,

Tu m'inquiètes. Quelle solution de secours éventuelle ? Utiliser une
connexion JDBC ou ODBC ? Ou bien le problème de "logistique" est-il
identique ?

Oui JDBC ou ODBC (sachant que ce dernier ne marche déjà pas sous OSX à
l'heure actuelle avec SnowLeopard, alors qu'il marchait à peu près bien
sous Tiger) . Le problème se pose différemment pour ces connecteurs,
parce qu'ils sont fournis directement par MySQL par exemple. Tant que
Mysql continue d'exister, les connecteurs seront là, je pense.

Peut-etre que le projet Apache continuera à fournir le connecteur nâtif
mysql pour OOo/LibO, mais je n'en sais rien :

http://wiki.apache.org/incubator/OpenOfficeProposal

où on peut lire :

    Initial Source

The initial source will consist of a collection of OpenOffice.org files
as specified in Oracle's submitted SGA.

During incubation, we will seek a grant to the following additional items:

Merci Alex pour ta réponse. Quand j'aurais un peu de temps je travaillerais sur une solution de secours avec ODBC par exemple, pour être prêt au cas où il y aurait de sérieux problème avec le connecteur direct.

Mais si MySQL disparait... et si PostgreSQL existe encore... etc. etc. :slight_smile:

Bernard

Si MySQL disparait ...
yaka utiliser http://mariadb.org/ :sunglasses:

Francois Gatto

Merci François. Je garde l'adresse dans mon carnet d'adresses.:slight_smile:

Bernard

C'est fait :slight_smile: :slight_smile: :slight_smile:

Cordialement,
Bernard