使用带有R的odbc库将SQL Server插入单个值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用带有R的odbc库将SQL Server插入单个值相关的知识,希望对你有一定的参考价值。

我想用R使用odbc库在SQL表上插入一个值

为此,我创建了连接,当它完成后,我尝试使用以下命令在其上插入数据:

odbc::dbSendQuery(con,"INSERT INTO Datos_Moldeo (Referencia) VALUES ('UNASjkjkjk');")

但是这回到了我的结果:

<OdbcResult>
  SQL  INSERT INTO Datos_Moldeo (Referencia) VALUES ('UNASjkjkjk');
  ROWS Fetched: 0 [complete]
       Changed: 1
Warning message:
In new_result(connection@ptr, statement) : Cancelling previous query

发生了什么?我做错了什么?

谢谢大家

答案

dbSendQuery是特定于驱动程序的。在某些情况下,它可能有效,但不建议用于更新/插入。

或者,您可以使用dbExecute方法。

dbExecute(con,
  "INSERT INTO Datos_Moldeo (Referencia) VALUES ('UNASjkjkjk');")
另一答案

dbSendQuery函数仅是选择查询。您需要使用dbWriteTabledbSendStatement写入它。

以上是关于使用带有R的odbc库将SQL Server插入单个值的主要内容,如果未能解决你的问题,请参考以下文章

使用R,如何在SQL Server数据库上获取“dbo”参数?

如何使用 ODBC 在 SQL Server 2000 中获取最后插入的 id?

使用 ODBC 包将数据从 SQL Server 保存或读取到 R

检索 ODBC 表并插入 SQL Server CE 数据库

R SQL Server ODBC连接在服务器名称中转义字符

Perl DBI / MS ODBC Driver (LinuxL:RHEL) / SQL-Server:如何插入/更新 BLOB varbinary(max) 数据?