Page 1 sur 1

Liaison entre tables MySQL

Publié : 20 mars 2006 17:46
par loya
Bonjour,

Je n'arrive pas à lier les tables de ma base de données mysql sous OOo Base 2.0 . J'ai bien des clefs primaires pour chaque table mais j'ai un message d'erreur :( "la base de données ne supporte pas les relations".

Que manque-t-il?

Merci pour ceux qui trouveront un intérêt et une solution à ce problème.

loya
PS: J'utilise ODBC
Titre modifié pour plus de clarté. Correction de fautes, merci de faire attention à l'orthographe.

Publié : 20 mars 2006 17:50
par Dude
Bonjour et bienvenue,

Tu devrais passer à la 2.0.2 qui est la dernière version stable (surtout pour Base).

Publié : 20 mars 2006 18:02
par loya
Merci du conseil: La 2.0.2 est elle francisée?

et pour la liason de mes tables qu'est-ce qui ne fonctionne pas ...

loya

Publié : 20 mars 2006 18:05
par loya
elle est franciée! je suis passé sur OO.org, c'est récent parce qu'il y a peu de temps elle n'était qu'en version us

Publié : 20 mars 2006 18:20
par loya
avec la version 2.0.2 ca ne marche toujours pas ma liasion de tables, quelqu'un a une idée...

Publié : 20 mars 2006 21:52
par Seb33300
OpenOffice ne peux tout simplement pas mettre de relation entre des tables MySQL (j'ai le meme probleme)

Publié : 21 mars 2006 09:16
par Dude
Seb33300 a écrit :OpenOffice ne peux tout simplement pas mettre de relation entre des tables MySQL (j'ai le meme probleme)
Heu ! C'est par une histoire lié au format des tables ? Il faut être en InnoDB plutôt qu'en MyISAM.

Publié : 21 mars 2006 10:35
par loya
non Dude en InnoDB ça ne marche pas!

Y a-t-il quelqu'un qui utilise OObase en mode client/serveur? et qui a su lier ses tables avec OObase

Awaiting for someone who knows

:)

loya

Publié : 21 mars 2006 11:44
par Seb33300
Dude a écrit :
Seb33300 a écrit :OpenOffice ne peux tout simplement pas mettre de relation entre des tables MySQL (j'ai le meme probleme)
Heu ! C'est par une histoire lié au format des tables ? Il faut être en InnoDB plutôt qu'en MyISAM.
oui on m'a parler de InnoDB mais je ne sais pas comment mettre mes tables en InnoDB ?

Ya juste TYPE=INNODB a mettre a la fin ?

Publié : 21 mars 2006 14:49
par loya
seb, si tu arrives à relier tes tables mysql avec OOBase, je suis preneur de ta méthode, avis aux autres utilisateurs, merci

loya qui patiente

Publié : 21 mars 2006 14:58
par Seb33300
je cherche toujour mais je n'arrive pas a creer des tables avec le moteur InnoDB...

J'ai un message d'erreur qui me dit qu'elles ont été créé avec le moteur MyISAM

Théoriquement il est possible de relier tes table directement avec des requetes SQL mais apres il faut voir si OpenOffice peut gerer sa

Publié : 21 mars 2006 16:38
par Seb33300
Bon j'ai réussi a faire fonctionner le moteur InnoDB.

Les relations fonctionnent correctement mais par contre OpenOffice ne peut toujours pas les créer

Il m'affiche toujours le message "la base de données ne supporte pas les relations"

Donc si tu veux des relation tu va devoir te les creer directement en SQL avec une syntaxe de ce genre :

Code : Tout sélectionner

CREATE TABLE parent(id INT NOT NULL,
                    PRIMARY KEY (id)
) TYPE=INNODB;

CREATE TABLE child(id INT, parent_id INT,
                   INDEX par_ind (parent_id),
                   FOREIGN KEY (parent_id) REFERENCES parent(id)
                     ON DELETE CASCADE
) TYPE=INNODB;

Publié : 21 mars 2006 16:51
par loya
Merci Seb,

Il va falloir que je me documente plus sur le SQL afin de relier mes tables, mais si mes tables ne sont pas reconnues comme reliées sous OOBase, je n'ai plus d'intérêt à utiliser OOBase

loya qui est un peu :cry: (d'autant que j'ai cru comprendre que ça marche avec Access)

Publié : 21 mars 2006 17:12
par Dude
Je n'ai pas le temps de tester mais cela semble possible avec Base :
http://www.developpez.net/forums/viewtopic.php?t=445698

:?

Publié : 22 mars 2006 08:49
par Seb33300
loya a écrit :Merci Seb,

Il va falloir que je me documente plus sur le SQL afin de relier mes tables, mais si mes tables ne sont pas reconnues comme reliées sous OOBase, je n'ai plus d'intérêt à utiliser OOBase

loya qui est un peu :cry: (d'autant que j'ai cru comprendre que ça marche avec Access)
OpenOffice ne le vera peut etre pas mais si tu esseye de faire quelque chose de contadictoire (inserer une donné avec une relation de clé etrangere mais celle ci n'existant pas) mySQL renverra une erreur et OpenOffice te l'affichera
Cannot add or update a child row: a foreign key constraint fails (`test/child`, CONSTRAINT `FK__1` FOREIGN KEY (`id`) REFERENCES `parent` (`id`) ON DELETE CASCADE)