Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试将本地数据框从 R 复制到我的 db2 数据库。我有权写入表,并且我已验证连接正常。
我在用:
copy_to(connection, data.frame, name = my_table_name)
我收到以下错误,这对我来说没有意义。它说的对象不存在正是我要创建的对象。我究竟做错了什么?
typeof(x) 中的错误:找不到对象“my_table_name”
默认情况下,copy_to()尝试创建一个临时表。一个选项是添加参数temporary = FALSE,以克服TEMPORARY令牌错误。一个更好的解决方案是针对您用来连接的odbc包,希望该包能够添加对 DB2 数据库的支持。换句话说,odbc将需要知道正确创建临时表所需的具体命令是什么。一旦解决了,copy_to()就可以了。如果它确实odbc是您正在使用的包,我建议您在包的存储库中打开一个 GitHub 问题。
copy_to()
temporary = FALSE
TEMPORARY
odbc
这可能是由DBInot的问题引起的dbplyr。见这里。有一个利用DBI包的变通方法。您可以在此处获得更多详细信息。
DBI
dbplyr
总结: DBI 包有一个写表命令。它使用相同的连接,但它还要求输入表名包含在SQL().
SQL()
我测试了以下内容,它按预期工作。
data(iris) DBI::dbWriteTable(connection, SQL("database.schema.iris"), iris)