Вчера я успешно выполнил этот бит кода, но сегодня я получаю ошибку «нет такой таблицы». Я пытаюсь получить данные в таблице (с именем tblLatjamInputs) из базы данных SQLite в R, используя DBI::dbReadTable()
, но она действует так, как будто таблица не существует.
Использование SQLiteStudio
![screenshot of SQLiteStudio showing the existence of the table](https://i.stack.imgur.com/5ZasW.jpg)
и отдельно командной строки
![screenshot of command line window showing that table exists in the database](https://i.stack.imgur.com/1W1r6.jpg)
,
Я вижу, что таблица действительно существует и что в таблице есть данные.
Вот код, оба записаны и в виде скриншота, чтобы вы могли увидеть ошибку, которую я получаю.
setwd("D:/hsm/databases")
db <- dbConnect(SQLite(), conn = "lookup_and_tracking.sqlite")
tblName <- "tblLatjamInputs"
df.full <- dbReadTable(db, tblName)
Error in result_create(conn@ptr, statement) : no such table: tblLatjamInputs
Я получил ту же ошибку при изменении строки tblName
на это: tblName <- dbQuoteIdentifier(db, "tblLatjamInputs")
![screenshot of code in R to retrieve table information from an sqlite database and the resulting error](https://i.stack.imgur.com/DmS4m.jpg)
dbListTables(db)
возвращает character(0)
, а dbListFields(db, "lkpSpecies")
(другая таблица в БД) также возвращает ошибку отсутствия такой таблицы.
Я проверил, что в имени таблицы нет пробелов вокруг имени таблицы база данных. Я также пытался извлечь данные из других таблиц (чтобы увидеть, если это просто проблема с этой таблицей), но я получил ту же ошибку. Я попытался отключиться и повторно подключиться к базе данных несколько раз, включая отключение от базы данных, закрытие SQLiteStudio и командной строки, а затем повторное открытие. Я также попытался закрыть все, включая R, перезагрузить проект и начать заново с нуля. Я также попытался соединиться с другой базой данных с теми же результатами (R устанавливает соединение, но не может найти какие-либо таблицы). Я полностью сбит с толку, потому что, как я уже говорил, все это прекрасно работает в командной строке, и я сделал это вчера с той же базой данных, таблицей и строками кода, и это работало нормально.