无法使用RODBC附加Teradata易失表

时间:2020-05-21 18:05:53

标签: r teradata rodbc

好的,

我正在尝试使用RODBC在Teradata服务器上附加一个易失表。我编写的代码如下:

create_query = paste(
  'CREATE VOLATILE TABLE',
  volatile_name,
  '(',  dl_uid, ' VARCHAR(', char_width, '))',
  'UNIQUE PRIMARY INDEX(', dl_uid, ')',
  "ON COMMIT PRESERVE ROWS;"
)

RODBC::sqlQuery(
  channel,
  query = create_query
)

RODBC::sqlSave(
  channel,
  dat = df2,
  tablename = volatile_name,
  rownames = FALSE,
  append = TRUE
)

这是我收到的错误消息:

RODBC :: sqlSave(channel = edv,dat = df2,tablename = volatile_name ,: 42S01 -3803 [Teradata] [ODBC Teradata 驱动程序] [Teradata数据库]表'edvR_4425'已存在。 [RODBC] 错误:无法SQLExecDirect'创建表“ edvR_4425”(“ id_num” varchar(255))'

当我选择参数append = TRUE时,我发现这有点奇怪,这样它就知道要附加一个预先存在的表。我已经用一个永久表尝试过此代码,并且工作正常。有什么建议吗?

0 个答案:

没有答案