使用 dbReadTable in_schema

Using dbReadTable in_schema

我正在尝试使用 dbReadTable ,但是我的 tables 位于数据库内的模式下。

例如使用下面的代码我可以连接:

  db_ANZSCO <- tbl(con, in_schema("BGVIEW" ,"ANZSCO"))

但是当我尝试使用 dbReadTable 时出现以下错误;

  dbReadTable(con, "ANZSCO"))  

   Error: <SQL> 'SELECT * FROM "ANZSCO"'
     nanodbc/nanodbc.cpp:1587: 42000: [Microsoft][ODBC SQL Server      Driver][SQL Server]The SELECT permission was denied on the object 'ANZSCO', database 'BurningGlass', schema 'dbo'. 

我知道 table 位于模式下,但我不知道如何使用 dbReadTable 进行访问,我确实尝试查看文档,但到目前为止我一直没有成功。

感谢

试试新的 DBI::Id() 函数,它接受架构名称和 table 名称作为单独的参数。

con <- DBI::dbConnect(drv = odbc::odbc(), dsn = "qqqq") # Replace `qqqq`.
a <- DBI::Id(
  schema  = "BGVIEW",
  table   = "ANZSCO"
)
ds <- DBI::dbReadTable(con, a)
DBI::dbDisconnect(con)

如果这不起作用,请在您的问题中粘贴 table 定义,以及创建连接的代码。您已使用 [rodbc], but it looks likes you're using the newer & DBI-compliant odbc 包标记您的问题。

另见