[R] [R-sig-DB] RODBC on Oracle DB

Marc Schwartz marc_schwartz at comcast.net
Wed Jul 18 18:50:35 CEST 2007


I think that you are on to something there Don.

I just tried accessing a table from our Oracle server, which I do know
exists, but for which I do not have access permissions.

Using the following query in the Oracle Instant Client:

  select table_name from all_tables;

I can get a list of all tables on the server, which includes a table
called INCOMPATIBLE_USER_AGENTS, for which I do not have access
permissions.

When attempting to query the table in the Instant Client I get:

SQL> select * from INCOMPATIBLE_USER_AGENTS;
select * from INCOMPATIBLE_USER_AGENTS
              *
ERROR at line 1:
ORA-00942: table or view does not exist


When running the same query from R using RODBC I get:

> sqlQuery(db, "select * from INCOMPATIBLE_USER_AGENTS")
[1] "[RODBC] ERROR: Could not SQLExecDirect"                                
[2] "42S02 942 [Oracle][ODBC][Ora]ORA-00942: table or view does not exist\n"


So it looks like permission issues may be possible here.  Eric,
definitely confirm with your SysAdmins that you have appropriate
permissions.

HTH,

Marc


On Wed, 2007-07-18 at 07:43 -0700, Don MacQueen wrote:
> I believe I have seen that error message from 
> Oracle when I tried to query a table for which I 
> did not have "select" privileges (and when I knew 
> for certain that the table existed). Ask your 
> database administrator about the table, and make 
> sure that you do have that privilege.
> 
> What I am uncertain about is whether Oracle, when 
> asked to list tables, returns a list that 
> includes tables for which the user does not have 
> select privileges.
> 
> -Don
> 
> At 9:24 AM +0200 7/17/07, eric at net2000.ch wrote:
> >essai <- odbcConnect("ORESTE_prod", 
> >uid="osis_r",  pwd="12miss15" ,case="oracle")
> >
> >>  sqlTables(essai)$ORESTE
> >
> >...
> >
> >1315      <NA>      ORESTE              S_PROFESSIONS_OLD        TABLE    <NA>
> >1316      <NA>      ORESTE                  S_PROVENANCES        TABLE    <NA>
> >1317      <NA>      ORESTE                        S_SEXES        TABLE    <NA>
> >1318      <NA>      ORESTE                 S_SOUS_CLASSES        TABLE    <NA>
> >1319      <NA>      ORESTE                 S_TYP_COLLEGES        TABLE    <NA>
> >1320      <NA>      ORESTE             S_TYP_ENSEIGNEMENT        TABLE    <NA>
> >
> >...
> >
> >>  sqlQuery(essai, "select * from S_TYP_COLLEGES")
> >[1] "[RODBC] ERROR: Could not SQLExecDirect"                           
> >[2] "42S02 942 [Oracle][ODBC][Ora]ORA-00942: Table ou vue inexistante\n"
> >
> >I have also tried the
> >essai2 <- odbcDriverConnect(connection="essai2")
> >But with no succes.
> >
> >
> >
> >On Lun Juil 16 15:32 , Prof Brian Ripley <ripley at stats.ox.ac.uk> sent:
> >
> >>The problem could be quoting, if Oracle is not standards-compliant.
> >>See the options in ?odbcConnect.
> >>
> >>If sqlQuery(essai, "select * from S_TYP_COLLEGES") works, this is likely
> >>to be the problem.
> >>
> >>On Mon, 16 Jul 2007, eric at net2000.ch wrote:
> >>
> >>>
> >>>
> >>>>  essai
> >>>>  odbcGetInfo(essai)
> >>>        DBMS_Name         DBMS_Ver  Driver_ODBC_Ver
> >>>         "Oracle"     "09.00.0121"          "03.51"
> >>>  Data_Source_Name      Driver_Name       Driver_Ver
> >>>    "ORESTE_prod"    "SQORA32.DLL"     "09.00.0101"
> >>>         ODBC_Ver      Server_Name
> >>>     "03.52.0000"           "weba"
> >>>
> >>>
> >>>>  sqlTables(essai)
> >>>
> >>>  The result of this function is a liste of tables, one of them is called:
> >>>  S_TYP_COLLEGES.
> >>>
> >>>
> >>>>  sqlFetch(essai,"S_TYP_COLLEGES")
> >>>  [1] "[RODBC] ERROR: Could not SQLExecDirect"
> >>>  [2] "42S02 942 [Oracle][ODBC][Ora]ORA-00942: Table ou vue inexistante\n"
> >>>
> >>>>  sqlFetch(essai, "S_TYP_COLLEGES", colnames=TRUE, rownames=FALSE)
> >>>  [1] "[RODBC] ERROR: Could not SQLExecDirect"
> >>>  [2] "42S02 942 [Oracle][ODBC][Ora]ORA-00942: Table ou vue inexistante\n"
> >  >>
> >  >>
> >  >> What could be the problem here ?
> >  >> Any help is welcome
> >  >> Eric Röthlisberger, Neuchâtel
> >  >>



More information about the R-help mailing list