2012-01-23 2 views
0

Я пытаюсь читать данные из базы данных MySQL, используя следующий код:с использованием MySQL исходники quantmod

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

Я бы предположил, что аргументы в setDefaults должны читать (..., src = con), но я не являюсь обычным пользователем этого пакета. –

+0

Я бы предложил использовать метод quantmod для подключения к MySQL http://www.quantmod.com/documentation/getSymbols.MySQL.html, хотя я никогда не пробовал это сам – JordanBelf

ответ

2

getSymbols.MySQL() делает соединение для вас. То есть вы даете user, password и dbname, и не беспокойтесь ни о чем другом.

Не знаю, подключено ли соединение. Если это не так, и это влияет на производительность, то используйте функции dbi непосредственно для чтения ваших данных в объектах xts и не используйте эту функцию высокого уровня с квантовым моментом.

Смежные вопросы