簡體   English   中英

dbplyr copy_to不將表保存到數據庫

[英]dbplyr copy_to not saving table to database

我試圖將本地數據幀從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問題。

這可能是由DBI而不是dbplyr 這里 有一種解決方法可以利用DBI包。 您可以在此處了解更多詳細信息。

總結:DBI軟件包具有一個寫表命令。 它使用相同的連接,但是還需要將輸入表名稱包裝在SQL()

我測試了以下內容,並按預期工作。

data(iris)
DBI::dbWriteTable(connection, SQL("database.schema.iris"), iris)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM