R dbWriteTable 不止一个 Class 警告

R dbWriteTable More Than One Class Warning

我有一个可用的 R 脚本,它使用 dbWriteTable 命令写入 SQL 服务器 table。一段时间以来一直没有问题……直到最近几天。

现在当我 运行 dbWriteTable 命令时,我收到以下警告:

Found more than one class "blob" in cache; using the first, from namespace 'blob'
Also defined by ‘jsonlite’

有趣的是 table 似乎写入成功。

下面是一些示例代码:

library("DBI")

db_test <- dbConnect(
  odbc(),
  driver = "SQL Server",
  server = "test_server",
  port = 1234,
  database = "test_db"
)

dbWriteTable(
  conn = db_test,
  name = SQL("dbo.swc_test_write_table"),
  value = df_test,
  overwrite = TRUE
)

我已经尝试明确命名包 DBI::dbWriteTable,但它会引发相同的警告。作为参考,我没有使用 jsonlite 包,但我安装了它。

有没有想过为什么会这样?

同样的问题,似乎是编码干扰,可能

编辑: 对不起“我也是”post。我又检查了一下,这至少是由于加载 tidyverse 库造成的。仅为我加载 DBI 和 odbc 即可解决警告。

这似乎是一个错误,这是由jsonlite 软件包在其最新版本1.7.3 中引起的。 查看错误报告 https://github.com/jeroen/jsonlite/issues/373 它似乎已在上游修复,截至目前还有可用的更新版本,Changelog from 1.7.3 to 1.8.0.