2010-10-14 5 views
31

Est-il possible de lire les données stockées dans le serveur MS SQL à partir de l'interface R?Lecture des données de Microsoft SQL Server dans R

Si c'est le cas, je serais également reconnaissant si quelqu'un pouvait montrer la façon de le faire.

+4

[RODBC] (http://cran.r-project.org/package=RODBC)? Et regardez [R Data Import/Export manual] (http://cran.r-project.org/doc/manuals/R-data.html#R-interface-packages). – Marek

Répondre

6

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 plus logique. Lorsque je me connecte à un serveur MSSQL sous Linux, j'utilise JDBC comme suggéré par Joris. Je suppose que JDBC est aussi la meilleure solution pour Mac, mais je pourrais très bien me tromper.

+2

Le paquet freetds sur Linux a fonctionné pour moi aussi, en collaboration avec RODBC. –

+2

Je ne pensais même pas à freetds mais vous avez raison ce serait une bonne option. Je pense généralement qu'une connexion JDBC est plus facile à configurer, mais elle nécessite également Java, ce que certains trouvent frustrant/difficile à travailler. – Choens

+0

Peut-être que vous pouvez jeter un oeil à la nouvelle option prometteuse [paquet rsqlserver] (https://github.com/agstudy/rsqlserver). – agstudy

5

Il une autre option qui semble outperform RODBC and RJDBC

paquet rsqlserver écrit par agstudy.

Installation:

require(devtools) 
install_github("rClr", 'jmp75') 
install_github('rsqlserver', 'agstudy',args='--no-multiarch') 
+1

Windows uniquement :( –

5

J'ai appliqué la fonction rodbc proposée par d'autres utilisateurs. LinkSQL Server RODBC Connection

library(RODBC) 
dbhandle <- odbcDriverConnect('driver={SQL 
Server};server=mysqlhost;database=mydbname;trusted_connection=true') 
res <- sqlQuery(dbhandle, 'select * from information_schema.tables') 

changement des variables deux beased sur votre table de données. 'Server = mysqlhost; database = mydbname'

2

La dernière bibliothèque qui vous permet de vous connecter à des bases de données MSSQL est RSQLServer. Il peut être trouvé sur GitHub et CRAN.

+1

Ce package ne semble plus disponible >> Le package 'RSQLServer' a été retiré du dépôt CRAN >> Les versions précédemment disponibles peuvent être obtenues à partir des archives >> Archivé le 2016-12 -01 car les problèmes de vérification n'ont pas été corrigés malgré les rappels Source: https://cran.r-project.org/web/packages/RSQLServer/index.html – cbailiss

Questions connexes