On Jan 19, 2010, at 10:04 PM, Eric Ma wrote:

> 
> I am having the exact same error, and the suggested work-around does not
> help.  
> 
> My env is:
> 
> 64-bit SUSE Linux v 10.1 on Xeon processors.  gcc and gfortran version is
> 4.1.2
> 64-bit R 2.10.1 compiled from soure using CC="gcc -m64" etc.
> 64-bit unixODBC driver manager 2.2.14 compiled from source
> Oracle Instant Client ODBC driver for Linux x86_64 11.2.0.1.0
> RODBC 1.3-1 installed from within R.  ODBC_INCLUDE and ODBC_LIBS point to
> the unixODBC include and the .so directories
> 
> unixODBC isql test is successful.
> 
> I know it is a 32-bit and 64-bit mismatch, and the issue is in R or RODBC. 
> How can I confirm the 32- vs. 64-bit version of R and RODBC?
> 
> Thanks,
> 
> Eric

For R:

  .Machine$sizeof.pointer

will return 4 if R is 32 bit and 8 if 64 bit. If R is 64 bit, then unless you 
changed something, RODBC should be compiled and installed as 64 bit as well.

However, if you could successfully connect to the Oracle server, I don't 
believe that this is a 32/64 bit mis-match. I am fairly sure that the initial 
odbcConnect() call would fail if the complete tool chain was not 64 bit. So if 
you are getting an error from sqlQuery() after successfully connecting, 
something else is likely going on.

A successful odbcConnect() would also point to most other Oracle components, 
config files and environment variables being set properly.

If you used the iSQL tool provided by the unixODBC folks, I would also just 
verify that you can connect using the sqlplus tool provided by Oracle to 
connect and run the same query that you are attempting inside R with RODBC.

Not sure where else to point you for the moment.

HTH,

Marc Schwartz

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to