【发布时间】:2022-01-17 19:54:22
【问题描述】:
我需要将数据从 R 上传到 Oracle 数据库。 我遵循这个问题的建议 how to export data frame (R) into Oracle table.
我使用代码:
dbWriteTable(con_dwh, "table_db", table_in_R,
append =T, row.names=F, overwrite = F)
其中con_dwh 是与 Oracle 数据库的 JDBC 连接。
但是我收到了错误消息:
Error in .local(conn, statement, ...) :
execute JDBC update query failed in dbSendUpdate (NaN)
我对发生的错误有点困惑。
有人可以帮我吗?
【问题讨论】:
-
可能是其中一行具有未正确解释的值。尝试插入一行。如果可行,添加 10 或 50 行(取决于你有多少)。继续直到再次失败,然后尝试确定新批次的哪一行是罪魁祸首。如果找到该行并不能清楚地表明哪个值有问题,请返回并edit 您的问题至少包括一个好行和一个坏行。祝你好运!
-
@r2evans 我尝试插入 1 行。结果 - 错误 ORA-00947。我不知道为什么会发生此错误。这可能是由于插入数据时会自动生成 myst 的标识列值吗?
-
我不使用Oracle,所以我真的只能帮助建议确定问题的过程。也许除了我建议的“单个行”之外,您还可以尝试单列或一小组列,直到您可以插入而不会出错,然后继续努力解决哪个列正在执行此操作。 (顺便说一句:ORA-00947 建议空值,
""或NA,可能是一个问题。我也不使用JDBC,更喜欢非 javaodbc,所以也许这也在起作用在这里。 -
ORA-00947simple 表示表格比数据框有更多的列。简单使用overwrite = T, append = F就消失了…… -
@MarmiteBomber 确实问题消失了。但是我遇到了另一个问题,即 R 无法插入带有
na的行。怎么处理?