Использование dbReadTable in_schema - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь использовать dbReadTable, однако мои таблицы расположены под схемой внутри базы данных.

Например, используя приведенный ниже код, я могу подключиться:

  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'. 

Я понимаютаблица находится под схемой, но я понятия не имею, как получить доступ с помощью dbReadTable, я пытался заглянуть в документацию, но мне пока не удалось.

Tks

1 Ответ

0 голосов
/ 25 июня 2018

Попробуйте функцию new-ish DBI::Id(), которая принимает имя схемы и имя таблицы в качестве отдельных аргументов.

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)

Если это не сработает, вставьте определение таблицы в свой вопрос,и код, который создает соединение.Вы пометили свой вопрос как [rodbc], но похоже, что вы используете более новый и совместимый с DBI odbc пакет.

См. Также

...