R table 来自 SQL 奇怪的行为

R table from SQL weird behavior

我使用以下方法将 R 连接到 SQL:

library(dplyr)
library(dbplyr)
library(odbc)
library(RODBC)
library(DBI)

con <- dbConnect(odbc(), 
                 Driver = "SQL Server", 
                 Server = "srv name", 
                 Database = "Warehouse")

我拉入 table 我想使用

data <- tbl(con, in_schema("prc", "PricingLawOfUniv")))

以下内容显示了我期望看到的内容(38 X 1000 table 的数据):

  1. 头(数据)
  2. colnames(data)

以下情况符合我的预期:

  1. 在环境中 数据 是“2 的列表”
  2. View(data) 显示带有“src”和“ops”的列表 - 每个也是 2 的列表。

最终我想使用 38 X 1000 table 作为使用 dplyr 的数据框。我怎样才能做到这一点?我尝试了 data[1] 和 data[2] 但都没有用。 table 我真正想藏在哪儿?

您可以使用 DBI::Id 指定 table/schema,然后 dbReadTable:

tbl <- DBI::Id(
  schema  = "prc",
  table   = "PricingLawOfUniv"
)
data <- DBI::dbReadTable(con, tbl)