Можно ли читать данные, хранящиеся на сервере MS SQL, из интерфейса R?
Если это так, я был бы также благодарен, если бы кто-нибудь мог показать, как это сделать.
Можно ли читать данные, хранящиеся на сервере MS SQL, из интерфейса R?
Если это так, я был бы также благодарен, если бы кто-нибудь мог показать, как это сделать.
Пробовал пакет RODBC
уже?
http://cran.r-project.org/web/packages/RODBC/index.html
Там также пакет RJDBC
: http://www.rforge.net/RJDBC/
См. также: http://www.r-bloggers.com/connecting-to-sql-server-from-r-using-rjdbc/
Нико, какая операционная система вы используете? Ответ на ваш вопрос зависит от используемой вами платформы.
Если вы используете Windows (любой полосы), подключение к MSSQL Server через ODBC (RODBC) имеет наибольший смысл. Когда я подключаюсь к серверу MSSQL на Linux, я использую JDBC, как это было предложено Джорисом. Я бы предположил, что JDBC также является лучшим решением для Mac, но я вполне мог ошибаться.
Я применил функцию RODBC, предложенную другими пользователями. Ссылка Соединение RODBC SQL Server
library(RODBC)
dbhandle <- odbcDriverConnect('driver={SQL
Server};server=mysqlhost;database=mydbname;trusted_connection=true')
res <- sqlQuery(dbhandle, 'select * from information_schema.tables')
измените две переменные в вашей таблице данных. "Сервер = mysqlhost, база данных = mydbname
Есть еще один вариант, который выглядит как превосходит RODBC и RJDBC
rsqlserver пакет, написанный agstudy.
Установка:
require(devtools)
install_github("rClr", 'jmp75')
install_github('rsqlserver', 'agstudy',args='--no-multiarch')
Последняя библиотека, которая позволяет вам подключаться к базам данных MSSQL, RSQLServer.
Вы можете подключиться к серверу SQL, используя пакет DBI, который, я думаю, работает лучше, чем RODBC.
Посетите эту страницу для более подробной информации: Запросы к базе данных с R
Пример будет следующим
library(DBI) library(dplyr) library(dbplyr) library(odbc) con <- dbConnect(odbc::odbc(),.connection_string = "driver={SQL Server}; server= ServerName; database=DatabaseName; trusted_conncetion=true")) dbGetQuery(con,'Select * from Table')