Est-il possible de lire les données stockées sur le serveur MS SQL à partir de l'interface R?
Si c'est le cas, je serais également reconnaissant si quelqu'un pouvait montrer le moyen de le faire.
J'ai déjà essayé le paquet RODBC
?
http://cran.r-project.org/web/packages/RODBC/index.html
Il y a aussi le paquetage RJDBC
: http://www.rforge.net/RJDBC/
Voir aussi: http://www.r-bloggers.com/connecting-to-sql-server-from-r-using-rjdbc/
J'ai appliqué la fonction RODBC suggérée par d'autres utilisateurs. LienConnexion SQL Server RODBC
library(RODBC)
dbhandle <- odbcDriverConnect('driver={SQL
Server};server=mysqlhost;database=mydbname;trusted_connection=true')
res <- sqlQuery(dbhandle, 'select * from information_schema.tables')
changer deux variables beased sur votre table de données. 'server = mysqlhost; database = mydbname'
Niko, quel système d'exploitation utilisez-vous? La réponse à votre question varie en fonction de la plate-forme que vous utilisez.
Si vous utilisez Windows (quelle que soit la bande), la connexion à MSSQL Server via ODBC (RODBC) est la solution la plus judicieuse. Lorsque je me connecte à un serveur MSSQL sous Linux, j'utilise JDBC comme suggéré par Joris. Je suppose que JDBC est également la meilleure solution pour les Mac, mais je pourrais très bien me tromper.
Il existe une autre option qui semble surperformer RODBC et RJDBC
rsqlserver paquet écrit par agstudy.
Installation:
require(devtools)
install_github("rClr", 'jmp75')
install_github('rsqlserver', 'agstudy',args='--no-multiarch')
Vous pouvez vous connecter au serveur SQL à l'aide du package DBI, qui, à mon avis, fonctionne mieux que RODBC. DBI est un package d'interface de base de données pour les bases de données relationnelles. pour SQL je l'utilise avec le paquet odbc comme dans l'exemple ci-dessous.
Visitez cette page pour plus de détails: Requêtes avec R
Un exemple serait comme suit
library(DBI)
library(odbc)
con <- dbConnect(odbc::odbc(), .connection_string = "driver={SQL Server}; server= ServerName; database=DatabaseName; trusted_conncetion=true"))
dbGetQuery(con,'Select * from Table')