【发布时间】:2017-03-23 15:07:08
【问题描述】:
我想知道是否有人可以帮助解决这个烦人的问题。 我正在尝试创建/建立到不同数据库的多个连接。 我有一个带有 3 个名为 conf 的连接凭据的 data.frame - 如果我像这样手动输入连接变量,它就可以工作:
conn <- dbConnect(MySQL(), user=conf$user, password=conf$passws, host=conf$host, dbname=conf$db)
最终创建一个连接。 但是,我想要的是能够将连接称为:
conf$conn <- dbConnect(MySQL(), user=conf$user, password=conf$passws, host=conf$host, dbname=conf$db)
这是我收到的错误消息。 rep(value, length.out = nrows) 中的错误: 尝试复制“S4”类型的对象
我认为问题在于我如何添加 conf$conn
【问题讨论】:
-
你没有告诉我们任何关于 conf 的事情。这在这里很重要。
-
conf是否定义为列表?很难复制。这对我来说似乎没有错误:conf<-list(); conf$con <- dbConnect(RSQLite::SQLite(), ":memory:") -
@MrFlick 谢谢,我看到你在 SQLite 上试过了 - 我在 MySQL 上......所以不确定它是如何应用的。
-
@HelenNeely 这根本不重要。似乎问题在于您出于某种原因尝试使用 data.frame 而不是列表。
-
在我看来,更适合您需求的数据结构是列表。