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.
我有一个可用的 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.