2014-07-21 1 views
3

Je ne peux pas me connecter à MSSQL en utilisant le paquet DBI. Je suis en train de la manière indiquée dans le paquet lui-mêmeConnexion à MSSQL en utilisant DBI

m <- dbDriver("RODBC") # error 

Erreur: Impossible de trouver la fonction "rodbc"

# open the connection using user, passsword, etc., as 
    # specified in the file \file{\$HOME/.my.cnf} 
    con <- dbConnect(m, dsn="data.source", uid="user", pwd="password"))  

Toute aide appréciée. Merci

Répondre

1

Il semble qu'il y ait l'habitude d'être un pilote rodbc pour DBI, mais pas plus:

http://cran.r-project.org/src/contrib/Archive/DBI.RODBC/

Un peu de peaufinage a obtenu ce à installer dans une version 3 R, mais je n » t avez des sources ODBC pour le tester. Mais m = dbDriver("RODBC") ne pas erreur.

> m = dbDriver("RODBC") 
> m 
<ODBCDriver:(29781)> 
> 

vous suggère de demander sur la liste de diffusion R-sig-db pour trouver peut-être ce qui est arrivé à ce code et/ou l'auteur ...

-1

résolu. J'ai utilisé la bibliothèque RODBC. Il a une grande fonctionnalité pour se connecter sql et exécuter des requêtes SQL dans R.

Bibliothèque de chargement:

library(RODBC) 

# dbDriver est une chaîne de connexion avec UserID, le nom de la base de données, mot de passe, etc.

dbhandle <- odbcDriverConnect(dbDriver) 

Course à pied Requête Sql

sqlQuery(channel=dbhandle, query) 

C'est Thats It.

9

Comme une mise à jour à cette question: RStudio a depuis créé le odbc package (ou GitHub version here) qui gère les connexions ODBC à un certain nombre de bases de données via DBI. Pour SQL Server, vous utilisez:

Vous pouvez également définir un dsn ou fournir une chaîne de connexion.

+2

Et le principal avantage de 'odbc' par rapport à' RODBC' est la performance d'insertion améliorée en utilisant e. g. 'dbWriteTable', voir [Demande de fonctionnalité: prise en charge des opérations d'insertion et de mise à jour en bloc ODBC] (https://github.com/rstats-db/odbc/issues/34) –

Questions connexes