[base] access chaos... base me permettra-t-il de le surmonter ?

Bonjour,

Pour les besoins d'un projet de recherche, j'ai constitué petit à petit une
base de données sous MS access 2000 sous WinXP. Le choix du logiciel était
dicté par la disponibilité au sein de la structure et par le besoin d'une
interface utilisateur facilitant les développements. Petite équipe, pas de
professionnel des bases de données. D'un côté, un ensemble de tables permet
de stocker l'information sur les pulvérisations de produits phytosanitaires
sur un territoire (jour, parcelle, produit, dose), de l'autre, on stocke les
résultats des dosages de ces produits phyto dans les eaux de ce territoire.
L'ensemble doit permettre tous les croisements qui paraîtront pertinents aux
chercheurs du projet pour tenter de dénicher des déterminismes dans les
transferts de produits phytosanitaires dans les eaux de ruissellement. Le
volume d'information n'est pas colossal (au plus quelques milliers
d'enregistrements par table), mais la structure est assez complexe.

Cette complexité semble atteindre les limites des possibilités du logiciel :
En décembre, j'avais des messages d'erreur du genre "trop complexe" lorsque
je demandais l'exécution de certaines requêtes. En cherchant un peu, j'ai
compris que c'est le nombre de relations au sein d'une requête qui était
trop grand. Et comme certains calculs nécessitent des requêtes en cascade...
J'avais simplifié pour limiter le nombre de relations au sein d'une seule
requête, l'exécution semblait passer... et en revenant de congés, c'est un
message genre "capacité insuffisante" qui apparaît. Pourtant l'exécution de
la requête n'utilise que ~50% du CPU et moins de la moitié de la RAM.

Le pire, c'est que j'ai encore des développements à faire, et que le point
ultime de complexité des requête n'est pas encore atteint.

Le module base de libroffice serait-il la solution à mon problème ? Offrant
une interface graphique permettant à des non-spécialistes de créer les
requêtes souhaitées au fur et à mesure, tout en offrant la possibilité de se
connecter à des moteurs de bases de données "solides" comme MySQL ou
d'autres ?

Dois-je définitivement abandonner MS Access ? Ou une version plus récente me
permettrait-elle de dépasser ces limites, sans avoir à tout ré-implémenter
dans un autre système ?

Merci de me faire profiter de votre expérience.
Cordialement,

Jean-Baptiste Richet

Bonsoir,

Le module base de libroffice serait-il la solution à mon problème ? Offrant
une interface graphique permettant à des non-spécialistes de créer les
requêtes souhaitées au fur et à mesure, tout en offrant la possibilité de se
connecter à des moteurs de bases de données "solides" comme MySQL ou
d'autres ?

Non, Base n'en sera pas capable, en tout cas, pas sous la forme d'un
fichier ODB intégrant par défaut une base hsqldb, ce qui est la
configuration par défaut proposée. En l'état, le HQSLDB embarqué dans un
fichier ODB serait une très mauvaise décision AMHA, car il est
mono-utilisateur, fait preuve de performances encore plus mauvaises dès
que l'on dépasse les quelques milliers d'enregistrements par table, et
en outre n'intègre même pas la dernière version du moteur hsqldb.

Par contre, il peut représenter une solution si tu veux effectivement
migrer ta base Access vers postgresql ou mysql/mariadb comme moteur. Tu
ferais alors tes formulaires, tes reqûetes, tes vues, etc, au sein du
fichier ODB.

Ceci étant dit, le module Base comporte beaucoup, et je dis bien, pas
mal de bugs gênants nouveaux depuis la création du projet LibreOffice,
et là, je ne parle même pas de ceux qu'existaient avant avec le projet
OOo. La performance avec un connecteur JDBC et une version de Java
supérieure à 1.6.22 en est la plus grave. L'exécution de requêtes un
tant soit peu complexes avec beaucoup de résultats devient frustrant au
point de vouloir jeter l'ordinateur par la fenêtre. Le générateur de
rapports intégré et basé sur Pentaho prend du plomb dans l'aile à chaque
nouvelle sortie de version, ce qui fait qui a toujours un truc qui ne
marche pas, alors qu'il a pu fonctionner partiellement avec une version
précédente.

Je pense sans mentir que vu ton scénario d'application, tu ne vas pas
trouver ton bonheur dans Base. Pour tout ce qui est construction de
requêtes, et si tu décides d'utiliser un serveur mysql, tu peux toujours
faire appel à MySQL Workbench, qui a ses propres bugs, mais marche pas
mal dans l'ensemble. J'étais par le passé un utilisateur assez féru de
Base, mais je suis plutôt parti sur le fait de me débrouiller avec mon
cerveau, le moteur de bdd directement et d'autres outils, plutôt que les
outils graphiques proposés par Base dans LO. Il me sert actuellement
plus pour des tests et confirmations de bugs que pour effectuer un réel
travail de gestion de bdd. C'est dommage, mais c'est un constat du
terrain. Peut-être que d'autres ici pourront être plus élogieux quant à
ses qualités.
  
Alex

Bonsoir,

Le module base de libroffice serait-il la solution à mon problème ? Offrant
une interface graphique permettant à des non-spécialistes de créer les
requêtes souhaitées au fur et à mesure, tout en offrant la possibilité de se
connecter à des moteurs de bases de données "solides" comme MySQL ou
d'autres ?

fichier ODB intégrant par défaut une base hsqldb, ce qui est la
configuration par défaut proposée. En l'état, le HQSLDB embarqué dans un

(...)
   

Alex

Bonjour,
Je partage l'avis d'Alex.
Je n'ai pour ma part jamais pu migrer de base Access vers Base.
D'un point de vu Microsoft, une migration vers Access 2003 (ou 2007 et plus récent) va déjà améliorer grandement les choses. Ensuite, sur des vieux projets, il vaut peut-être mieux remettre tout à plat. Les requêtes complexes à n'en plus finir dénotent peut être ( O:-)) une mauvaise conception de base, ou une architecture de départ pas pensée pour l'évolution actuelle.
Donc mon conseil serait de repartir d'une feuille blanche ...
Bon courage
Nicolas
-- Envoyez un mail à users+help@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés

Si je peux me permettre d'ajouter un avis personnel à cette question comme utilisateur lambda, je ne peux acquiescer au propos d'Alexander. J'ai souvent dit sur ce forum que Base était le parent pauvre de la suite bureautique LibO. Il reste que c'est un outil qui peut s'avérer utile et relativement simple pour développer des petites applications de BDD, et de plus c'est GRATUIT ! Pour le cas de figure exposé qui simple assez complexe je pense, à priori, que ACCESS dans son édition 2007 ou 2010 pourrait répondre à la demande à condition de revoir la structure globale: Tables, relations entre elles et peut-être que l'environnement système d'exploitation Win XP peut aussi être remis en cause.
Bon courage

Claude

Bonjour Alex,

Bonsoir,

Je saute à la question que je veux te poser :
[...]

Je pense sans mentir que vu ton scénario d'application, tu ne vas pas
trouver ton bonheur dans Base. Pour tout ce qui est construction de
requêtes, et si tu décides d'utiliser un serveur mysql, tu peux toujours
faire appel à MySQL Workbench, qui a ses propres bugs, mais marche pas
mal dans l'ensemble.

Est-ce que tu as fait un test de MariaDB ? Je commence à l'utiliser
petit à petit en remplacement de MySQL, mais je ne suis pas encore allée
très loin.

À bientôt
Sophie

Bonjour Sophie,

Est-ce que tu as fait un test de MariaDB ? Je commence à l'utiliser
petit à petit en remplacement de MySQL, mais je ne suis pas encore allée
très loin.

Je me dis de temps en temps qu'il faut que je l'essaie...puis je me
rends compte lorsque je veux le télécharger qu'il n'y a pas de version
pour Mac OSX, ce qui est un frein majeur pour moi dans mon parc
hétérogène - Serveur OSX et clients OSX, Linux et Windows. :-/

Pour se focaliser sur la solution MySQL/MariaDB, il devient de plus en
plus compliqué d'y avoir accès via LO avec un connecteur quelconque
depuis Mac OSX :

- le connecteur natif MySQL qui risque de ne plus être compatible ABI
avec la future version 4, et que je n'arrive même plus à compiler sur
mon serveur OSX - c'est un serveur de production, donc j'y touche le
moins possible ;

- le connecteur JDBC, qui fonctionne, hormis les objets binaires (images
OK, le reste on passe son chemin), mais avec une lenteur exaspérante, et
ce malgré les améliorations corrections au code apportées par Stephan
Bergman et Lionel Mamane ;

- le connecteur ODBC qui, en environnement 64bits (c-à-d depuis Lion
10.7), ne peut communiquer avec LO faute de disposer d'une version de LO
en 64bits ;

- le contournement mettant en oeuvre le pilote ODBC Actual Technologies,
payant, fait ressortir les dysfonctionnements chez LO du code qui gère
les connexions ODBC - troncature des chaînes CHAR/VARCHAR lors de la
saisie dans une table, erreurs de gestion/représentation des dates, et
j'en passe.

J'ai mis plus de 10 ans à créer et à faire évoluer mes données
professionnelles - je ne peux pas et ne veux surtout plus risquer de
tout corrompre / mettre en danger / perdre du temps à récupérer à cause
de LO - et encore, moi, je suis "petit joueur" dans le monde des BDD et
j'ai des sauvegardes :wink:

Si l'on prend la solution Postgres, le connecteur SDBC fonctionne avec
les serveurs en écriture de version 8.4 et supérieur, mais apparemment
(d'après les rapports de bug) pas avec les dernières versions de LO. Ce
pilote manque encore, à l'aveu même de Lionel qui l'avait mis à jour, de
fonctionnalités qui permettrait à LO d'être utilisé à la place de
pgadmin, par exemple.

Alex

Bonjour Claude,

Si je peux me permettre d'ajouter un avis personnel à cette question
comme utilisateur lambda, je ne peux acquiescer au propos d'Alexander.
J'ai souvent dit sur ce forum que Base était le parent pauvre de la
suite bureautique LibO. Il reste que c'est un outil qui peut s'avérer
utile et relativement simple pour développer des petites applications
de BDD, et de plus c'est GRATUIT !

Oui, c'est gratuit, et oui, Base/hsqldb peut être adapté à une
utilisation à accès unipersonnel, par exemple pour des associations,
et/ou des gens en libéral, mais il faut constamment jongler avec les
versions de LO pour savoir ce qui continue à marcher, et ce qui ne
marche plus. Robert Grosskopf, qui avait développé comme exemple des
capacités de Base un système de gestion d'emprunts de bibliothèque et il
en a fait la synthèse dans son Guide sur Base, en est le premier à
l'admettre - il reste pour ses propres BDD avec la version 3.3.4 de LO
et une version 1.6.22 de Java !!

Tout ceci pour dire qu'il faut bien réfléchir à ce que l'on veut en
faire avec sa bdd avant de pouvoir recommander LO Base comme
alternative. Si on n'est pas développeur de macros, si on veut
développer facilement des interfaces graphiques évolués, alors Base va
vite perdre de son intérêt par rapport à Access, ou FMPro, ou même Lotus
Approach (vieux, mais simple comme bonjour à utiliser). Si l'on veut
prendre hsqldb, alors plutôt y accéder en tant que serveur autonome avec
la dernière version (2.x), où il a des performances plus que correctes
(en dehors des problèmes de performance de la combo Java/LO). Mais,
quitte à prendre un serveur de bdd java, autant regarder les autres
solutions : H2, Derby, et les solutions mobiles Handbase, Memento, etc,
là, au moins, on est certain que cela fonctionnera sur tous les
appareils :-), ce qui n'est pas le cas avec LO Base.

Pour finir, un lien qui liste les bugs connus/déclarés qui ont trait à
l'utilisation de bdd avec LO, il y a quelques "faux positifs", mais cela
donne une idée générale :

https://bugs.freedesktop.org/buglist.cgi?quicksearch=libreoffice+database

Alex

Bonjour Alex,

Hé bien, voilà un espoir qui se prend une belle douche froide... Merci de
ton retour d'expérience, il m'évite de me lancer sur une piste hasardeuse.
Je vais voir à quoi ressemble MySQL Workbench.

Avec mes chaleureux remerciements,
Jean-Baptiste

Bonjour Nicolas,

Tout remettre à plat ne ferait sans doute pas de mal, mais c'est un projet
en soit... et pour avoir une chance de maintenir les financements, il me
faut produire rapidement des résultats à jour.

Pour la structure actuelle, je ne dis pas que quelques simplifications ne
sont pas possibles, mais le résultats de ces simplifications ne changera pas
fondamentalement mon problème, je le crains.

Merci pour les encouragements, et je garde le conseil.
Cordialement,

Jean-Baptiste

re-bonjour à tous,

Le chaos n'est finalement pas si complet que cela : j'ai résolu le problème
générant le message "dépassement de capacité". Il s'agissait en fait de
divisions par zéro apparaissant dans une requête d'analyse croisée. Les
messages de MS ne sont décidément pas bien explicites.

Je repars donc clopin-clopant avec mon MS access 2000. Vos conseils m'auront
néanmoins été profitables. Encore merci.

Bonne fin de journée,
Jean-Baptiste.

Bonjour Alex,

Est-ce que tu parles de Mac OS/X car j'utilise le connecteur natif sous Windows avec LOdev Base 4.0b1 et il fonctionne.

Ceci dit, j'utilise MariaDB comme serveur avec LO Base en client mais je ne peux pas me prononcer sur les performances n'ayant pas des volumes assez importants à traiter. Pas plus que pour Firebird que j'ai eu utilisé (avec le logiciel IBEasy+, le couple fonctionnant plutôt bien).

Bernard

Bonjour

A toutes fins utiles...

Alexander Thurgood wrote

...Base dans LO. Il me sert actuellement
plus pour des tests et confirmations de bugs que pour effectuer un réel
travail de gestion de bdd. C'est dommage, mais c'est un constat du
terrain. Peut-être que d'autres ici pourront être plus élogieux quant à
ses qualités.

+1 pour le constat, les limites évoquées, les alternatives proposées...
et les regrets.

Pour terminer sur une note plus optimiste je remercie Lionel Elie Mamane
de s'investir dans le projet...

Cordialement
Pierre-Yves