2010-10-14 14 views
31

Ist es möglich, die Daten in MS SQL-Server von R-Schnittstelle gelesen zu lesen?Lesen von Daten von Microsoft SQL Server in R

Wenn es ist, wäre ich auch dankbar, wenn jemand den Weg zeigen könnte, es zu tun.

+4

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

Antwort

6

Niko, Welches Betriebssystem verwenden Sie? Die Antwort auf Ihre Frage hängt von der Plattform ab, die Sie verwenden.

Wenn Sie Windows (beliebiger Stripe) verwenden, ist die Verbindung mit MSSQL Server über ODBC (RODBC) am sinnvollsten. Wenn ich unter Linux eine Verbindung zu einem MSSQL Server herstelle, verwende ich JDBC wie von Joris vorgeschlagen. Ich würde annehmen, dass JDBC auch die beste Lösung für Macs ist, aber ich könnte sehr falsch liegen.

+2

Das Freeddspacket unter Linux hat auch bei mir in Verbindung mit RODBC funktioniert. –

+2

Ich habe nicht einmal an Freetds gedacht, aber du hast Recht, das wäre eine gute Option. Normalerweise habe ich das Gefühl, dass eine JDBC-Verbindung einfacher einzurichten ist, aber es erfordert auch Java, mit dem manche Leute frustrierend oder schwierig arbeiten. – Choens

+0

Vielleicht können Sie sich die neue vielversprechende Option [rsqlserver package] (https://github.com/agstudy/rsqlserver) ansehen. – agstudy

5

Es gibt eine andere Option, die

rsqlserver Paket von agstudy geschrieben outperform RODBC and RJDBC scheint.

Installation:

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

Nur Windows :( –

5

Ich habe RODBC angewandte Funktion von anderen Nutzern vorgeschlagen. 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') 

Änderung zwei Variablen auf Ihrer Datentabelle beased. 'Server = mysqlhost; database = mydbname'

2

Die neueste Bibliothek, die Sie MSSQL-Datenbanken verbinden ist RSQLServer.

Es kann auf GitHub und CRAN gefunden werden.

+1

Dieses Paket scheint nicht mehr verfügbar zu sein. >> Paket 'RSQLServer' wurde aus dem CRAN-Repository entfernt. >> Früher verfügbare Versionen sind im Archiv erhältlich. >> Archiviert am 2016-12 -01, da die Überprüfungsprobleme trotz Erinnerungen nicht behoben wurden Quelle: https://cran.r-project.org/web/packages/RSQLServer/index.html – cbailiss