我一直在嘗試將R服務器上的工作空間中創建的數據推送回Redshift。使用dbWriteTable(),我可以成功地創建表,但數據不被寫入到這個新創建的表中,併產生以下錯誤:將數據從R寫入Redshift問題
:
> dbWriteTable(con, c("schema", "table"), value = df,append=TRUE, row.names=FALSE) Error in postgresqlpqExec(new.con, sql4) : RS-DBI driver: (could not Retrieve the result : ERROR: syntax error at or near "STDIN" LINE 1: COPY "schema"."table" FROM STDIN ^ )
上的代碼註釋「CON」指的是紅移連接,以通用形式用於該代碼如下:
con <- dbConnect(drv, host="host_name", port="port_id", dbname="db_name", user="username", password="password")
我不能得到具有充分的數據的例子,由於在th限制e數據。
最初,我認爲這可能是工作空間內的權限問題。但是,通過使用dbSendQuery()創建表,然後循環遍歷我希望通過對dbSendQuery()的另一個調用插入到Redshift中的每一行數據框,我發現了一個非常緩慢的解決方案。這告訴我這個問題必須與其他權限相關,因爲我可以低效地完成任務。
有任何意見或與此相關的錯誤的建議是非常感謝,謝謝。