Hi all,

I am encountering an RODBC problem in R 2.15.1 in windows 64 bit which I do not encountered in the same set up in windows 32 bit (the latest binary version of RODBC in both cases from the same depository gotten by install.packages(‘RODBC’), Oracle ODBC client software installed in 64 and 32 bit respectively)

1.      The code looks like


library(RODBC)

credentials <- read.csv("~/credentials.csv", head=T, row.names=1)

db <- odbcConnect(dsn="DSN", uid=credentials["DSN", "username"], pwd=credentials["DSN", "password"], rows_at_time=1024)


on which the odbcConnect call fails with the following error code

Error in nchar(uid) : 'nchar()' requires a character vector

(

credentials are processed correctly and credentials["DSN", "username"] correctly returns – by the way a factor –

[1] _username_

Levels: …

).


When I run the equivalent call with direct arguments


db <- odbcConnect("DSN", uid="_username_", pwd="_password_", rows_at_time=1024)


it works just fine.  Furthermore both work just fine on windows 32 bit, or on both systems when the colClasses = "character" option is used. Is this perhaps a problem with RODBC in 64 bit when dealing with factors that is not a problem in 32 bit?


2.      Furthermore (and as reported in http://stackoverflow.com/questions/3407015/querying-oracle-db-from-revolution-r-using-rodbc), there are issues with using sqlQuery without the option believeNRows=FALSE, as RODBC seems to still have issues with signed vs. unsigned integer (or sizeof(long) between 32 and 64 bit.


Any chance the problems have the same source in RODBC code and could be addressed in the near future (after apparently years of making difficult the transition to 64 bit for work with Oracle servers)? (is there an implicit encouragement to use RJDBC when combining 64 bit R use and Oracle databases?)

Many thanks in advance for any guidance.

Ivan
	[[alternative HTML version deleted]]

