我正在尝试使用以下代码从MySQL数据库中读取数据:
drv<-dbDriver("MySQL")
user<-'xxxx'
password<-'xxxx'
dbname<-'test'
con<-dbConnect(drv, user=user, password=password, dbname=dbname)
load.packages('quantmod')
tickers = 'Z (Dec 10)'
setDefaults(getSymbols,verbose=T,src='MySQL')
data <- new.env()
data = getSymbols(tickers, from = '2010-09-01', env = data, auto.assign = T)
会产生以下错误:
> data = getSymbols(tickers, from = '2010-09-01', env = data, auto.assign = T)
Error in getSymbols.MySQL(Symbols = "Z (Dec 10)", env = <environment>, :
At least one connection argument ( ‘user’ ‘password’ ‘dbname’ ) is not set
我不明白为什么当我设置con时,它不起作用。
答案 0 :(得分:2)
getSymbols.MySQL()
为您提供连接。即您将user
,password
和dbname
提供给它,不要担心其他任何事情。
我不知道它是否进行连接缓存。如果没有,并且影响性能,则直接使用dbi函数将数据读入xts对象,不要使用此quantmod高级功能。