Problem using Quantmod and MySQL
On Mon, Mar 30, 2015 at 9:25 AM, Joshua Ulrich <josh.m.ulrich at gmail.com> wrote:
On Sun, Mar 29, 2015 at 5:37 PM, Joshua Ulrich <josh.m.ulrich at gmail.com> wrote:
On Sun, Mar 29, 2015 at 1:50 PM, Ueli Hofstetter <uelihofstetter at gmail.com> wrote:
I have some problems loading symbols from an mysql db using getSymbols. Instead of repeating the issue, here is a link to the description on stackoverflow http://stackoverflow.com/questions/29333330/quantmod-error-loading-symbols-from-mysql-db Any help is greatly appreciated
The "character" method for dbConnect was removed in the 0.10 release of RMySQL. I'm not sure whether or not this was intentional. It was not mentioned in the release notes.
It was removed intentionally. I do not have a MySQL database available for testing, so I would really appreciate some help from those who use this functionality. Can someone please try this suggested edit: https://github.com/rstats-db/RMySQL/issues/62#issuecomment-87692704 And provide feedback at: https://github.com/joshuaulrich/quantmod/issues/45 Thanks! Josh -- Joshua Ulrich | about.me/joshuaulrich FOSS Trading | www.fosstrading.com
_______________________________________________ R-SIG-Finance at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.
I'm happy to try it out but a little confused as to all the locations I need to edit. Help me clear this up and I'll try it out immediately. The failure is coming when I'm trying to get the data using the following code:
if (DownloadNewData){
+ if (!UseMySQL){
+ for (i in 1:length(TestSym)){
+ print(paste("From ",SymbolSrc," -- ",TestSym[i]))
+ getSymbolsCont(TestSym[i], from = DataStart, to = DataEnd,
adjust = MyAdjust, src=SymbolSrc)
+ }
+ } else {
+ for (i in 1:length(TestSym)){
+ print(paste("From MySQL -- ",TestSym[i]))
+ # getSymbols(TestSym[i], src="MySQL")
+ getSymbols(TestSym[i], src="MySQL", user="mark",
password="MyTempPassword", dbname=dbName)
+ assign(TestSym[i], get(TestSym[i])[paste0(DataStart,"/",DataEnd)])
+ }
+ dbDisconnect(dbc)
+ }
+ }
[1] "From MySQL -- SPY"
Show Traceback
Rerun with Debug
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ?dbConnect? for
signature ?"character"?
Am I correct that the suggestion is to edit two lines?
First, I use
library(RMySQL)
Is the first edit to change this to
requireNamespace("RMySQL", quietly = TRUE)
or do I add this to my code somewhere and keep the library command?
Later in my code I have:
if (UseMySQL){
if (MyAdjust) { dbName = paste0(dbName, "Adjust")}
dbc = dbConnect(MySQL(), dbname=dbName)
# setDefaults(getSymbols.MySQL, user="mark",
password="MyTempPassword", dbname=dbName)
}
This would be where the second edit goes?
dbConnect("MySQL", ...) to dbConnect(RMySQL::MySQL, ...)
Thanks,
Mark