I have R 2.10.1 and 2.9.1 installed, and both have RMySQL packages
installed.
I script I'd developed using an older version (2.8.?, I think) used RMySQL
too and an older version of MySQL (5.0.?), and worked fine at that time
(about a year and a half ago +/- a month or two).
But now, when I run it again, on new data, the script works fine until it is
supposed to store its results in my DB. In actuality, I have a perl script
that does an initial preparation of the data, and then invokes the R script
- all of which work fine).
The very last five lines of my script are:
print(resultsdataframe);
library(RMySQL);
con <-
dbConnect(MySQL(),user="rejbyers",password="jesakos",dbname="merchants2");
dbWriteTable(con,"results",resultsdataframe);
dbDisconnect(con);
The print statement works fine, and shows me the results I expected. But
library(RMySQL) fails, which makes all the rest of the lines fail. The
command and error message is:
> library(RMySQL);
> Error in fun(...) :
> A MySQL Registry key was found but the folder C:\Program
> Files\MySQL\MySQL Administrator 1.1\/. doesn't contain a bin or lib/opt
> folder. That's where we need to find libmySQL.dll.
> Error : .onLoad failed in 'loadNamespace' for 'RMySQL'
> Error: package/namespace load failed for 'RMySQL'
>
It IS true that the folder C:\Program Files\MySQL\MySQL Administrator 1.1\/.
doesn't contain a bin or lib/opt folder (There is no trailing 'V' in
that
path name!). However, libmySQL.dll actually is there in 'C:\Program
Files\MySQL\MySQL Administrator 1.1'. It is also true that MySQL 5.0.67
(community edition) is installed and all the related tools (administrator,
browser, &c.) work just fine. (NB: I never touch the registry unless
absolutely necessary, so I don't know what R is looking at in there or if
some misbehaved install program left bogus data there for R to find.)
The question is, why is R looking in the wrong place for this DLL and what
is the best way to solve this problem?
I know a quick and dirty solution, to work around this, is to create that
path and put a copy of the DLL there, but that does not strike me as
adequate. I would expect that to possibly generate problems the next time I
upgrade MySQL.
So, then, what would you recommend?
Thanks
Ted
[[alternative HTML version deleted]]