我一直在尝试将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中的每一行数据框,我发现了一个非常缓慢的解决方案。这告诉我这个问题必须与其他权限相关,因为我可以低效地完成任务。
有任何意见或与此相关的错误的建议是非常感谢,谢谢。