Вставьте URL-путь в базу данных, используя dbplyr
Я пытаюсь вставить URL в базу данных postgresql с помощью
db_insert_into(con, "url", "http://www.google.com")
Ошибка в файле (fn, open = "r"): не удается открыть соединение. Дополнительно: Предупреждение: в файле (fn, open = "r"): не удается открыть файл "http: /www.google.com": нет. такой файл или каталог
Как я могу решить это?
1 ответ
Вам нужно как-то указать как имя таблицы, так и имя поля. Я собираюсь догадаться, что "url"
это имя поля, а имя таблицы здесь еще не определено. Но, честно говоря, не имеет значения, принимайте решение и адаптируйтесь по мере необходимости.
Ожидание db_insert_into
это то, что values
(третий аргумент) является data.frame
или что-то, что может быть легко преобразовано в такое. Так что вы, вероятно, можете сделать:
newdata <- data.frame(url = "http://www.google.com", stringsAsFactors = FALSE)
db_insert_into(con, "tablename", newdata)
Если вы ленивый или играете в code-golf, вы можете сделать это с помощью:
db_insert_into(con, "tablename", list(url = "http://google.com"))
так как некоторые из основных методов S3 или S4 вокруг dbplyr
иногда проверяю if (!is.data.frame(values)) values <- as.data.frame(values)
, (Но я не обязательно буду полагаться на это, обычно лучше быть явным.)