RMySQL

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Bertrand VIALLE
Messages : 28
Enregistré le : 02 Juil 2007, 12:19

RMySQL

Messagepar Bertrand VIALLE » 20 Juil 2007, 09:58

Je souhaite travailler en SQL sous R 2.5.1
J'ai installé les packages DBI et RMySQL.
Mais dès que j'essaie d'effectuer une connection à la base de données j'ai une erreur :

con <- dbConnect(MySQL(), host = "rsn", user = "raccess", password = "racc", dbname = "lam")
Error in function (classes, fdef, mtable) :
unable to find an inherited method for function "dbConnect", for signature "MySQLDriver"

Voilà, donc si quelqu'un a déjà eu ce problème, j'aimerais bien savoir comment l'éviter

Merci d'avance.

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 20 Juil 2007, 16:26

Je suppose que le pb vient du driver MySQL (ou de son absence ;-)). Fouiller les archives R-Help sur ce sujet, ainsi que le doc R data import/export (p 17 de la version pdf).

Renaud

Bertrand VIALLE
Messages : 28
Enregistré le : 02 Juil 2007, 12:19

Messagepar Bertrand VIALLE » 25 Juil 2007, 08:30

J'avais bien les librairies DBI et RMySQL que j'avais prises sur le site CRAN mais elles ne devaient pas être assez récentes.

J'ai réussi, grâce à l'option updates package de R, à trouver les mêmes packages mais des versions plus récentes que celles du CRAN fournies par défaut.

Du coup, j'ai quelques warning quand je les utilise, mais ça fontionne.
:wink:

Pierre Casadebaig
Messages : 67
Enregistré le : 07 Déc 2006, 12:31

Messagepar Pierre Casadebaig » 25 Juil 2007, 15:53

Bonjour Bertrand,

Suite à votre message, en voulant tester RMySQL au lieu d'une autre solution (RODBC + MyODBC) utilisées, je tombe sur la même erreur que vous aviez initialement.
J'ai mis à jour mes packages, mais j'ai eu moins de chance : l'erreur reste

Code : Tout sélectionner

Erreur dans function (classes, fdef, mtable)  :
        impossible de trouver une méthode héritée pour la fonction "dbConnect", pour la signature "MySQLDriver"


Auriez vous une idée du paquet incriminé qui aurait pu causer ça ? aviez vous fait d'autres manips (utiliser les .dll de MySQL au lieu de celles fournies avec RMySQL ?)

Edit : je suis finalement tombé sur un post de la mailing de R qui précise le problème :
The S4 class system, which is used by RMySQL, went through heavy
revision during the R 2.4.0 dev cycle. So I'm pretty sure that
explains why the binary package worked with an R from late July and
doesn't work with the release.


... à part que la version binaire la plus recente de RMySQL semble toujours poser ce problème. Quelqu'un a-t-il réussi à le compiler et pourrait partager sa version ? je sens que je vais être dépassé par les événements si je me lance la dedans...

Merci !

Pierre

Bertrand VIALLE
Messages : 28
Enregistré le : 02 Juil 2007, 12:19

Messagepar Bertrand VIALLE » 27 Juil 2007, 13:19

Je travaille sous Windows XP avec R 2.5.1

Pour pouvoir se connecter à une base de données MySQL, il faut récupérer les packages DBI_0.2-3.zip et RMySQL_0.6-0.zip.
Il faut ensuite aller dans C:\WINDOWS\system (ou C:\WINNT\System32 sous Windows NT)et ajouter les dll :
-RMySQL.dll (dans RMySQL_0.6-0.zip)
-libMySQL.dll

Normalement, avec ces modifications, ça devrait fonctionner correctement.

Pierre Casadebaig
Messages : 67
Enregistré le : 07 Déc 2006, 12:31

Messagepar Pierre Casadebaig » 30 Juil 2007, 11:42

merci beaucoup, ça fonctionne !

Je n'avais pas la version 0.6 de RMySQL, et les dépots ne proposaient pas de mettre à jour ce paquet. Ce matin, il y avait deux version de RMySQL sur le miroir que j'utilise, une d'entre elle était donc la version 0.6 qui fonctionnait sans problème...


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité