0

我正在尝试将 dtplyr 应用于 SQL Server 数据库。

如下图我成功申请了dplyr,但是不知道怎么申请dtplyr

我怎样才能做到这一点?

library(odbc)
library(DBI)
library(tidyverse)
library(dtplyr)
library(dbplyr)

con <- DBI::dbConnect(odbc::odbc(),
                      Driver    = "SQL Server", 
                      Server    = "address",
                      Database  = "dbname",
                      UID       = "ID",
                      PWD       = "password")

dplyr::tbl(con, dbplyr::in_schema("dbo", "table1"))
4

1 回答 1

0

@Waldi 的评论抓住了问题的本质。您不能将 dtplyr 与 SQL Server 一起使用,因为它仅将命令转换为data.table对象。

官方dtplyr 文档指出:

dtplyr 的目标是允许您编写 dplyr 代码,该代码会自动转换为等效的 ... data.table 代码

dbplyr官方文档指出:

它允许您通过自动将 dplyr 代码转换为 SQL 来使用远程数据库表,就好像它们是内存数据帧一样

dbplyr 和 dtplyr 都翻译 dplyr 命令。您使用哪一个取决于您使用的是data.table类型对象(在 R 内存中)还是远程 SQL 数据库(无论您喜欢哪种风格的 SQL)。

于 2021-02-14T00:48:24.897 回答