Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

equivalent d'Access sous Linux

28 réponses
Avatar
Bernard
Bonjour à tous,

Si cette question est Hors Sujet, je ne sais où la poser.

J'ai besoin de certaines des fonctionalités proposées par des
gestionnaires de bases de données tels que 'Access'. Sous Linux, il y a
"OpenOffice Base", mais je n'arrive pas à en tirer parti pour mon
application. Sans doute me manque-t-il les infos dont j'ai besoin pour ce
faire, à moins - ce dont je doute fortement - que 'OO Base' n'arrive
vraiment pas à la cheville de 'MS Access'

Je dois gérer une base d'environ 120,000 lignes (enregistrements). Tant
que cette base n'excédait pas 65536 lignes, je la gérais sans problème
avec StarOffice Calc, l'équivalent d'EXCEL. Désormais ce n'est plus
possible, à moins de diviser le fichier en deux bases, avec les problèmes
que vous imaginez.

Une fois, dans les années 2002 ou environ, j'ai fait appel à 'MS Access'.
Si mes souvenirs sont bons, cet utilitaire permettait d'afficher une
grosse base sans problème, et j'avais pu faire ce que je voulais. C'était
avec le 'MS Access' de mon employeur, auquel je n'ai plus accès. Sans
doute mes moyens me permettraient ils encore d'acheter une version perso
d''Access', mais je souhaite rester sous Linux et utiliser les ressources
qui existent ici, même s'il n'est pas question pour autant de discréditer
le travail des concepteurs de logiciels tels que MS Access.

Mes premiers essais avec OpenOffice 2.4 DataBase sont très décourageants
à ce stade, et j'espère que quelqu'un ici va me diriger vers une doc
utile.

Sur mes bases d'environ 120,000 enregistrements, je n'ai pas besoin de
faire grand chose: simplement les éditer, éventuellement faire des tris
et des recherches.

Les premiers essais que j'ai faits ici m'ont donné les résultats
suivants :

Création de tables : çà prend plusieurs heures d'attente ! (alors que
mon PC - datant d'environ 3 ans - est infiniment plus performant que
celui dont je disposais lorsque je faisais usage de MS ACCESS pour une
base de la même taille)

Mes bases : 21 champs qui, en moyenne, font environ 50 char en TXT, pour
120,000 enregistrements. La moitié de cela, c'est à dire le même nombre
de champs avec seulement 60,000 enregistrements, s'ouvre sous OO Calc
(équivalent à Excel) en seulement quelques secondes.

Merci d'avance pour vos avis et recommandations

8 réponses

1 2 3
Avatar
Emmanuel Florac
Le Mon, 05 Oct 2009 17:33:48 +0200, Sergio a écrit:


Parce que pour un des challengers, j'ai nommé MS Excel, il accepte 1 048
576 lignes sur 16 384 colonnes depuis sa version 2007.



Oui mais les versions antérieures étaient limitées à 65536 lignes.

--
Measuring programming progress by lines of code is like measuring
aircraft building progress by weight.
Bill Gates
Avatar
Bernard
Le Mon, 05 Oct 2009 01:41:26 +0200, YBM a écrit :



Si tu attaques mysql à partir d'OOBase tu n'as rien à apprendre sur
MySQL, juste l'installer par apt-get install mysql-server, sinon comment
créer une base et un utilisateur qui a les droit dessus, ce qui est
facile :

mysql -u root -p
(donner le mot de passe spécifié à l'installation de MySQL) mysql>
CREATE DATABASE nomdelabase;
mysql> GRANT ALL ON nomdelabase.* TO IDENTIFIED BY
'motdepasse';



J'ai fait cela: installation de mysql-server, j'ai créé la base de
données, et j'ai créé un user. Je n'ai pas eu d'erreurs, donc je pense
que l'user a bien été créé, mais je ne suis pas certain de pouvoir y
accéder avec ce nom d'user et le pswd choisi, je ne sais jusqu'ici y
accéder qu'en mode administrateur. Quoi qu'il en soit, je n'arrive pas à
y accéder depuis OO Base :

nouveau => base

Se connecter à une base existante

Je choisis MySQL. Suivant =>

paramètrer une connexion MySQL. Comment souhaitez vous vous connecter à
la base MySQL ? ==> connexion utilisant JDBC (Java Database Connectivity)

suivant ==>

paramètrer une connexion à une base MySQL en utilisant JDBC. Saisissez
les informations requises pour établir une connexion... Vous devez
installer une classe de pilotes JDBC sur votre système et l'enregistrer
dans OpenOffice.org

nom de la base de données ?
url du serveur ?

pour le nom de la base, j'ai donné celui de la base que je venais
d'ouvrir. Pour l'url du serveur, je ne sais quoi mettre. J'ai essayé tour
à tour 'localhost' et 'http://localhost'. De toutes façons, quoi que
j'écrive dans cette boite ou que je la laisse vide, les résultats sont
les mêmes. Je ne sais pas non plus si la classe de pilotes JDBC est ou
non installée sur mon système.

Plus bas : numéro de port 3306 (défault 3306).

Classe de pilote jdbc pour MySQL. Par défaut, la boîte de dialogue
affiche : com.mysql.jdbc.Driver. En face se trouve un bouton 'tester la
classe'. Si je clique là dessus, s'affiche: 'impossible de charger le
pilote JDBC'. Je n'ai alors d'autre alternative que de cliquer sur
'précédent' et de faire l'autre choix possible pour la connexion à la
base MySQL, soit 'connexion utilisant ODBC (Open Database Connectivity),
au lieu de 'JDBC' précédemment essayé sans succès. Ce nouveau choix étant
fait, je clique sur 'suivant', et j'obtiens une nouvelle boite de
dialogue: 'paramètrer une connexion à une base de données ODBC'. Et
alors, si je clique sur 'parcourir', s'affiche le message suivant :

'la bibliothèque de programme libodbc.so.1 n'a pu être chargée ou est
défectueuse. La sélection de la source de données ODBC n'est pas
disponible'.

Il doit donc me manquer quelque chose sur mon système, à moins qu'il ne
me suffise de savoir quoi inscrire comme url pour JDBC.

Merci d'avance pour votre aide



et c'est tout... ce sera certainement beaucoup plus rapide sauf si le
problème n'est pas le backend d'OOBase mais son frontal...


Avatar
Emmanuel Florac
Le Tue, 06 Oct 2009 00:19:43 +0000, Bernard a écrit:


nom de la base de données ?



Il faut que tu la crées au préalable, avec

mysqladmin -u root -p create <db name>

url du serveur ?



localhost, de tout évidence (sans http://, ce n'est pas un serveur web).


--
There are two ways of constructing a software design: One way is to make
it so simple that there are obviously no deficiencies, and the other way
is to make it so complicated that there are no obvious deficiencies. The
first method is far more difficult.
C.A.R. Hoare.
Avatar
moi-meme
Le Mon, 05 Oct 2009 16:34:04 +0200, Fabien LE LEZ a écrit :

On 05 Oct 2009 12:10:00 GMT, moi-meme :

Mais il n'y a pas de type de champ date



Yep, SQlite est très économe en matière de types.

Disons que dans MySQL, un champ "date" est implicitement un nombre qui
est transformé en texte (Y-M-d par exemple) à la lecture. Dans SQlite,
un champ "date" est explicitement un nombre, qu'on peut afficher sous
forme de date par les fonctions décrites ici :
http://www.sqlite.org/lang_datefunc.html




merci du tuyau, je n'avais pas trouvé.

Je deviens vraiment nul au niveau recherches ...
Avatar
Bernard
Le Tue, 06 Oct 2009 03:11:41 +0200, YBM a écrit :

Bernard a écrit :
[snip]



Pour tester que ton utilisateur est bien ok : mysql -u nom_utilisateur
-p
<saisir le mot de passe>

si tu arrives à l'invite "mysql>" c'est ok.

Sinon :

en cherchant sur Google : openoffice odbc mysql ubuntu

http://planet.ubuntu-fr.org/post/2007/05/24/Utiliser-OpenOfficeorg-avec-


une-base-de-donnees-MySQL-via-JDBC-Episode-1

j'ai jamais testé ainsi, mais ça a l'air un peu plus simple qu'avec odbc
que j'ai déjà essayé et qui fonctionne aussi, voir ici :

http://doc.ubuntu-fr.org/openoffice_odbc



Voilà, grâce à ces docs et à vos conseils, j'ai progressé, mais ce n'est
pas encore tout à fait cela. J'ai donc installé 'apt-get install libmysql-
java', qui manquait à mon système.

Pour ce qui est de la base mysql, j'y ai créé une base pour essai, avec
les commandes suivantes :

:/home/bd# mysql -p

Enter password: mot_de_passe

Welcome to MySQL monitor...
Your MySQL connection id is 47
Server version: 5.0.51a-24+lenny2 (Debian)

mysql> CREATE DATABASE premier_essai;

mysql> GRANT ALL PRIVILEGES ON premier_essai.* TO IDENTIFIED
BY 'mot_de_passe';

Ceci étant fait, je suis sorti de ma connexion à mysql en tant
qu'administrateur (root):

mysql> quit
bye
:/home/bd#
exit
:~$

et ensuite j'ai cherché à me connecter à la base premier_essai en tant
qu'user 'bd':

:~$ mysql -p
Enter password: mot_de_passe

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 48
Server version: 5.0.51a-24+lenny2 (Debian)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| premier_essai |
+--------------------+
2 rows in set (0.00 sec)

mysql> quit
Bye
:~$

Voilà. l'user est bien créé, et celui-ci peut bien entrer dans la base
sans problème. Essayons, maintenant, d'y accéder via OpenOffice base:

Bienvenue dans l'assistant bases de données de OpenOffice.org

Je coche: "Se connecter à une base de données existante" et, dans le menu
déroulant, je choisis "MySQL". Suivant.

Connexion utilisant JDBC. Suivant.

Nom de la base de données: premier_essai.
url du serveur: localhost
numéro de port: 3306 (defaut)
Classe de pilote JDBC pour MySQL: com.mysql.jdbc.Driver

Je clique sur "tester la classe" : "Chargement du pilote JDBC réussi".
OK. Suivant.

Nom d'utilisateur: bd
je coche la boîte "mot de passe requis"

Je clique dans la boîte "tester la connexion".

Nom d'utilisateur et mot de passe requis.
Login. Vous devez saisir un mot de passe pour la connexion à la source de
données. Nom d'utilisateur: bd. Mot de passe ? Je saisis le mot de passe
dans la boîte de dialogue. Puis OK.

Il se passe alors quelques secondes d'attente, puis je reçois le message
suivant :

OpenOffice Base. You have an error in your SQL syntax. Check the manual
that corresponds to your MySQL server version for the right syntax to use
near '????????????????' at line 1

(le nombre de points d'interrogation n'est pas forcément le même, car je
recopie tout cela au clavier, le copié collé ne fonctionnant pas ici)

Qu'est-ce donc que cette erreur de syntaxe qui m'interdirait de me
connecter à la base via OO Base, alors que j'y arrive très bien en
entrant dans mysql ?

Si je reprends l'essai sans "tester la connexion" et que je vais jusqu'au
bout : Je clique sur "suivant" au lieu de cliquer sur "tester la
connexion". Je coche "ouvrir la base de données pour edition" et
"création de tables à l'aide de l'assistant tables". Terminé. Le système
propose un nom pour la base de données odf. Je clique sur "enregistrer".

A ce stade, une boîte de dialogue s'ouvre, mon nom d'user (bd) apparaît
déjà, et il m'est demandé mon mot de passe. Je le tape, et je clique sur
OK. Quelques secondes d'attente, puis s'affiche :

"
OpenOffice.org 2.4 - Impossible d'établir une connexion à la base de
données.

Voilà !
"

Aurais-je un problème avec "localhost" ? localhost figure bien dans mon
fichier /etc/hosts. Mais je m'étonne qu'à l'installation de mon Debian,
le shell qui m'ait été attribué n'ait pas été

:~$

comme c'était le cas il y a quelques années sur mes très anciens
systèmes. Aujourd'hui c'est :

:~$

mais 'new-host' ne fonctionne pas en remplacement de 'localhost' dans les
séquences de OpenOffice base comme url.

Si, dans firefox, je tape :

http://localhost

"
La connexion a échoué

Firefox ne peut établir de connexion avec le serveur à l'adresse
localhost.

Bien que le site semble valide, le navigateur n'a pas pu établir de
connexion.

"

Toutefois, si je tape

http://localhost:631/ j'atterris bien sur le site de gestion de CUPS, ce
qui tend à démontrer que mon localhost est bien opérationnel.
Avatar
Bernard
Le Tue, 06 Oct 2009 17:21:53 +0200, remy a écrit :

Bernard a écrit :


si tu trouve une réponse poste un mode d'emploi sinon google me donne

http://www.commentcamarche.net/forum/affich-1881606-connexion-


openoffice-a-mysql

bonne chance remy



Cà-y-est, j'ai trouvé !

Dans OpenOffice, je suis allé dans outils/options/java

Il y avait :

Environnements d'exécution JAVA installés :

Sun Microsystems INC. 1.6.0.0
et
Free Software foundation 1.5.0

C'est la seconde option qui était cochée. Je l'ai remplacée par la
première (Sun Microsystems), et depuis lors, j'arrive à me connecter sur
mes bases d'essai MySQL !!!

Si cela se trouve, c'est le java merdique que j'utilisais qui
ralentissait mes bases HSQL, celles dont j'ai parlé dans cette enfilade,
et qui mettaient plusieurs heures pour aller du premier au 65,000 ième
enregistrement ! Je vais refaire l'essai... mais j'avoue que, même si
çà marche mieux, désormais c'est l'option MySQL qui me tente.

Je vous tiendrai au courant, et j'aurai sans doute d'autres questions.

Merci à tous.

Bernard
Avatar
Bernard
Le Tue, 06 Oct 2009 15:55:12 +0000, Bernard a écrit :



Cà-y-est, j'ai trouvé !

Dans OpenOffice, je suis allé dans outils/options/java

Il y avait :

Environnements d'exécution JAVA installés :

Sun Microsystems INC. 1.6.0.0
et
Free Software foundation 1.5.0

C'est la seconde option qui était cochée. Je l'ai remplacée par la
première (Sun Microsystems), et depuis lors, j'arrive à me connecter sur
mes bases d'essai MySQL !!!

Si cela se trouve, c'est le java merdique que j'utilisais qui
ralentissait mes bases HSQL, celles dont j'ai parlé dans cette enfilade,
et qui mettaient plusieurs heures pour aller du premier au 65,000 ième
enregistrement ! Je vais refaire l'essai...



Ouaip ! C'était bien le cas ! Je viens de re-tester ma base de 65,000
enregistrements sous HSQL (le système proposé par défaut sur OO base).
L'ouverture de la table prend 2 secondes (contre 30 secondes
précédemment, si mes souvenirs sont exacts), mais surtout, passer de la
fiche 1 à la fiche 65,000, soit en cliquant sur l'icône >>|, soit en
tapant 65,000 en bas à gauche du tableau, m'a demandé chaque fois
exactement 3 minutes... ce qui est déjà beaucoup en comparaison des
performances de "MS ACCESS", mais infiniment meilleur que les TROIS
HEURES et plus que çà prenait avant que je ne change l'application JAVA
intégrée à mon OpenOffice ! Lorsque que la table est allée une fois de
la fiche 1 à la dernière (65,000), ensuite pour faire de nouveaux va-et-
vient entre la première et la dernière, çà ne prend plus qu'environ un
dixième de seconde, ce qui était bien loin d'être le cas avec l'ancien
java.

Bernard
Avatar
none
Le 04.10.2009 00:28, Bernard a écrit :
Bonjour à tous,

Si cette question est Hors Sujet, je ne sais où la poser.

J'ai besoin de certaines des fonctionalités proposées par des
gestionnaires de bases de données tels que 'Access'. Sous Linux, il y a
"OpenOffice Base", mais je n'arrive pas à en tirer parti pour mon
application. Sans doute me manque-t-il les infos dont j'ai besoin pour ce
faire, à moins - ce dont je doute fortement - que 'OO Base' n'arrive
vraiment pas à la cheville de 'MS Access'



Bonjour,

Pour des ressources d'entraide sur OpenOffice.org il faut consulter le
site officiel francophone : http://fr.openoffice.org rubrique forums
(http://fr.openoffice.org/contact-forums.html).

La version courante de OpenOffice.org est la 3.1.1 disponible également
depuis le site officiel. Les versions fournies par les distributions
sont en général différentes et donc non supportées par OpenOffice.org.
C'est en particulier vrai pour les distributions basées sur Debian comme
Ubuntu. Donc pour s'assurer que quelque chose marche ou ne marche pas
sur OpenOffice.org, il faut faire le test sur la version officielle.
Pour l'installer voir par exemple cet article de FAQ :
http://wiki.services.openoffice.org/wiki/FR/FAQ/Generale/006

Enfin le nom du logiciel est OpenOffice.org, ni "open office" ou
OpenOffice" ni autre chose. Nous tenons en effet beaucoup au ".org" qui
souligne l'implication de la communauté dans le développement de
OpenOffice.org. Par ailleurs le nom Open Office est déjà déposé par une
autre entité et se rapporte à quelque chose de tout à fait différent.

Bonne journée
JBF
1 2 3