Je désire connaitre le contenu d'une table dans une base données attaquée depuis R avec RODBC.
Je commence par ouvrir un channel en renseignant la table, l'userID et un mot de passe.
Ensuite je tape une requête que je croyais simple :
Code : Tout sélectionner
sqlQuery(channel,errors=T,query='describe sivol.SPECTRE_NIRS')
[1] "42000 900 [Oracle][ODBC][Ora]ORA-00900: invalid SQL statement\n"
[2] "[RODBC] ERROR: Could not SQLExecDirect 'describe sivol.SPECTRE_NIRS'"
Pourtant dans la doc de sqlQuery(), l'item query est tout simplement "any valid SQL statement". Or il me semble que pour obtenir les détails sur une table il suffit de taper DESC <MA_TABLE>.
Par ailleurs je suis en mesure, sur cette même table, de lancer avec succès une requête plus élaborée.
Code : Tout sélectionner
spectre<-sqlQuery(channel,'select
A.dom_nais||A.annee_nais||A.lot_nais||A.no_nais as id_anim,
A.LOT_NAIS, A.D_NAIS, S.D_MESURE,S.CD_TISSU,S.stade_Physio,
S.NO_ECH
from
sivol.SPECTRE_NIRS S
left join
sivol.ANIMAL A
ON
A.DOM_NAIS=S.DOM_nais AND A.ANNEE_NAIS=S.ANNEE_NAIS AND A.LOT_NAIS=S.LOT_NAIS AND A.NO_NAIS = S.NO_NAIS
WHERE
A.dom_nais=\'ART\' AND A.ANNEE_NAIS=\'2019\' AND A.LOT_NAIS =\'14\' AND A.lignee =\'MUL17\'
')
J'obtiens la liste des différentes prises de spectres avec la date, le tissu et le numéro de mesure.
Mais je voudrais en plus obtenir les spectres et pour cela il me faut savoir comment ils sont stockés.
Et de préférence sans dépendre de la disponibilité de notre service informatique. :)
D'où ma requête pour décrire la table et connaitre le nom des variables.
J'ai testé en majuscules et en minuscules, en ajoutant des parenthèses après DESC ou DESCRIBE et en ajoutant ';' à la fin. Sans succès.
Merci