[R] et Access 97 - package RODBC

Fermé
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 - 10 avril 2008 à 09:27
 joujou - 26 déc. 2008 à 22:23
Bonjour,

Je suis débutant en langage R et je souhaiterais utiliser le package RODBC pour interroger une base de données Access 97.

Après avoir chargé le package, j'ai quelques soucis pour établir la connexion à la base.

La syntaxe de la fonction est:

channel<-odbcConnect("mabase", uid = "monID", pwd = "monpassword")

L'erreur retournée est qu'il ne connait pas "mabase", j'ai essayé en mettant "C:\monrepertoire\mabase.mdb" mais ça ne marche pas non plus.

Je sais que R n'est pas un langage très répandu, mais est-ce que quelqu'un s'y connait assez pour m'aider?

Merci d'avance.

2 réponses

gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 334
10 avril 2008 à 13:05
Il y a une liste de diffusion spécialisée dans les bdd avec R
https://stat.ethz.ch/mailman/listinfo/r-sig-db

p'tet de l'aide là bas

Mais comme quoi, R est tellement spécialisé, m'est avis que ce n'est sans doute pas sur un forum grand public que tu trouveras l'aide adéquate ;o)

J'en profite pour te donner une adresse française d'aide à l'utilisation de R (le seul que je connaisse qui soit suffisament abouti) :
http://forums.cirad.fr/logiciel-R/index.php

++
1
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73
10 avril 2008 à 14:29
OK merci, je vais regarder ça.
0
gastaman > Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011
14 avril 2008 à 15:38
La solution pour toi est d'utiliser la commande :

channel=odbcConnectAccess("lechemindetabase.mdb",pwd="tonmotdepasse")

et ensuite tu te sert de channel pour tes requêtes.

Voilà
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 334 > gastaman
14 avril 2008 à 15:51
J'ai comme l'impression de l'avoir déjà écrit :o)
0
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73 > gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020
22 avril 2008 à 16:21
J'avais mis ça de côté et je m'y replonge aujourd'hui, ça ne fonctionne toujours pas.

Je fais:

path_base<-"C:\mon_repertoire\ma_base.mdb"
channel<-odbcConnectAccess(path_base)


Et le message d'erreur qui s'affiche est

"Fichier 'C:\Program Files\R\R-2.4.1\mon_repertoirema_base.mdb' introuvable"

En fait on dirait qu'il va chercher la base dans le répertoire de travail de R alors que je lui donne l'adresse absolue.

Comment se fait-ce?

Merci d'avance.
0
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73 > Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011
22 avril 2008 à 16:33
Bon ben finalement j'ai trouvé tout seul (enfin mon collègue m'a suggéré l'idée).

Si ça peut être utile à quelqu'un, il faut mettre le caractère d'échappement "\" avant le caractère "\" pour qu'il soit interprété, ce qui donne:

path_base<-"C:\\mon_repertoire\\ma_base.mdb"



Bon, mon nouveau soucis est qu'il me dit que je n'ai pas l'autorisation requise pour accéder à la base, je ne vais jamais m'en sortir :.-( ^^
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 334
10 avril 2008 à 12:08
testdb <- file.path("c/../mabase.mdb")
channel <- obcdConnectAccess("testdb", uid="", pwd="")


non ?
0
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73
10 avril 2008 à 12:18
Warning messages:
1: [RODBC] ERROR: Could not SQLDriverConnect
2: ODBC connection failed in: odbcDriverConnect(con)

Je vais me pencher sur ce odbcDriverConnect, mais après le déjeuner.^^
0