web-dev-qa-db-fra.com

Connectez R à un moteur de base de données SQL Server

Dans mon travail, j'ai installé R-Studio (Microsoft R Open 3.2.5) et je souhaite me connecter à une base de données Microsoft SQL Server, pour exécuter des scripts à l'aide des tables que j'ai.

Y a-t-il une chance que je puisse me connecter à une base de données SQL Server en utilisant Pentaho puis en utilisant l'objet Exécuter R-Script pour créer un cube OLAP? Ai-je besoin d'un package pour connecter le moteur SQL? quelles seraient les étapes à effectuer?

J'ai déjà l'arquitectura de flocon de neige de la base de données. Avec la table de faits et les tables d'état. Mais je ne sais pas par où commencer.

6
D.Roca

Vous pouvez vous connecter à SQL Server directement à partir de R en utilisant au moins 4 bibliothèques ( RODBC , rsqlserver , RSQLServer =, RJDBC ).

Tant que vous avez suffisamment de RAM, vous pouvez importer vos données dans R et y faire votre analyse en utilisant par exemple des packages étonnants dplyr ou data.table . D'un autre côté, vous pouvez simplement vous connecter à SQL Server et envoyer des requêtes SQL au serveur et effectuer vos recherches de données dans votre base de données, puis importer les résultats dans R pour une analyse et une visualisation (statistiques) approfondies.

7
Miha Trošt

Quelque chose comme ça devrait fonctionner:

library(RODBC)
dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;Server=YourDBName\\SQLEXPRESS; Database=TestDB;Uid=; Pwd=; trusted_connection=yes")
initdata <- sqlQuery(dbconnection,paste("select * from MyTable;"))
odbcClose(dbconnection)

Consultez ces liens:

RODBC odbcDriverConnect () Erreur de connexion

https://andersspur.wordpress.com/2013/11/26/connect-r-to-sql-server-2012-and-14/

Enfin, assurez-vous que SQL Server dispose de toutes les autorisations appropriées.

7
ASH

Voici une autre façon de vous connecter à SQL Server, à l'aide de crédits Windows.

library("RODBC")
#library("XLConnect")

dbhandle <- odbcDriverConnect('driver={SQL Server};server=Name_Of_Server;database=Name_Of_DB;trusted_connection=true')
currTableSQL<-paste("SELECT * From Your_Table",sep="")
currTableDF<-sqlQuery(dbhandle,currTableSQL)

Décommentez le XLConnect si vous souhaitez utiliser cette bibliothèque. J'ai l'impression que beaucoup de fois si vous utilisez SQL Server, vous utilisez également Excel.

3
ryguy72