将R连接到SQL Server数据库引擎

时间:2016-09-08 22:42:00

标签: sql-server r pentaho

在我的工作中,我安装了R-Studio(Microsoft R Open 3.2.5),并希望连接到Microsoft SQL Server数据库,使用我拥有的表运行脚本。

我是否有可能使用Pentaho连接到SQL Server数据库,然后使用对象执行R-Script创建OLAP多维数据集? 我需要一个包来连接SQL引擎吗? 要执行的步骤是什么?

我已经拥有数据库的雪花arquitectura。使用事实表和状态表。但我不知道从哪里开始。

3 个答案:

答案 0 :(得分:7)

这样的事情应该有效:

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)

查看以下链接:

RODBC odbcDriverConnect() Connection Error

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

最后,确保SQL Server已应用所有适当的权限。

答案 1 :(得分:4)

您可以使用至少4个库(RODBCrsqlserverRSQLServerRJDBC)直接从R连接到SQL Server。

只要您有足够的RAM,就可以将数据导入R并使用例如令人惊叹的dplyrdata.table包进行分析。另一方面,您只需连接到SQL Server并将SQL查询发送到服务器,然后在数据库中进行数据争用,然后将结果导入R以进行进一步(统计)分析和可视化。

答案 2 :(得分:3)

这是使用Windows信用卡连接到SQL Server的另一种方法。

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)

如果要使用该库,请取消注释XLConnect。我觉得如果你使用的是SQL Server很多次,你也使用Excel。