[R-sig-DB] RODBC and Oracle 11g Issue.....

Marc Schwartz m@rc_@chw@rtz @end|ng |rom me@com
Fri Mar 5 16:39:23 CET 2010


On Mar 5, 2010, at 9:18 AM, Joe O wrote:

> Marc - 
> 
> Thanks for the help. I tried your suggestion:
> 
> [ruser using vsrv05 ~]$ R
> 
> R version 2.10.0 (2009-10-26)
> Type 'q()' to quit R.
> 
>> library(RODBC)
>> channel <- odbcConnect("OracleLocal", uid="parts", pwd="parts",rows_at_time = 1)
>> sqlQuery(channel, "select distinct segment from parts", errors=TRUE,rows_at_time = 1)
> character(0)
>> sqlTables(channel)
>> 
> 
> ..and no joy. 
> 
> Has anyone gotten R running on 64 bit Linux to connect to Oracle 11g running on 64 bit Linux using the Linux unixODBC library and R RODBC library? Works fine on a 32 bit Windows environment.


OK....stoopid question time:

1. I presume that you installed the 64 bit version of Oracle's instant client and ODBC driver from:

   http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxx86_64soft.html


2. You are running a 64 bit version of R?  Check the output of .Machine$sizeof.pointer and be sure that it shows 8, not 4.


3. You are using a 64 bit version of unixODBC?


Just to be sure, since the entire tool chain needs to be 64 bit, although typically you might get a segfault or other problem when mixing 32/64 bit.


Also, just for the heck of it, can you post the output of:

  unclass(channel)


Lastly, try using 'case = "toupper"' in the odbcConnect() call to see if that makes any difference:

  channel <- odbcConnect("OracleLocal", uid="parts", pwd="parts", rows_at_time = 1, case = "toupper")


Marc




More information about the R-sig-DB mailing list