使用 DBI::dbWriteTable() 在 Netezza 中创建临时表

问题描述

我想弄清楚为什么 DBI 包中的 dbWriteTable() 不允许我在 Netezza 环境中创建临时表。

我使用以下 r 代码的变体:

set.seed(42)  ## for sake of reproducibility
n <- 6
dat <- data.frame(id=1:n,date=seq.Date(as.Date("2020-12-26"),as.Date("2020-12-31"),"day"),group=rep(LETTERS[1:2],n/2),age=sample(18:30,n,replace=TRUE),type=factor(paste("type",1:n)),x=rnorm(n))

dbWriteTable(conn = {connection},name = "db.temp_table",value = dat,row.names = FALSE,temporary = FALSE)


但是,当我运行 dbWriteTable 时,我收到一条错误消息,指出我无权写入。我在开发阶段尝试了相同的代码,在该阶段我可以编写并成功运行。经过进一步检查,我发现 dbWriteTable 实际上并没有创建临时表,而是创建了一个实际的表。我是否遗漏了不允许我创建临时表的语句。

我使用这些语句创建带有键的临时表,以便从 Netezza 数据库连接和导入数据。

我使用了以下资源 R JDBC error "Unable to retrieve JDBC result set for insert into ...",但我不确定这是否能解决我的问题。

感谢任何帮助。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)