【发布时间】:2010-10-14 12:02:27
【问题描述】:
是否可以从R接口读取存储在MS SQL server中的数据?
如果是这样的话,如果有人能告诉我这样做的方法,我也将不胜感激。
【问题讨论】:
标签: sql-server r
是否可以从R接口读取存储在MS SQL server中的数据?
如果是这样的话,如果有人能告诉我这样做的方法,我也将不胜感激。
【问题讨论】:
标签: sql-server r
我已经应用了其他用户建议的 RODBC 功能。 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')
根据您的数据表更改两个变量。 'server=mysqlhost;database=mydbname'
【讨论】:
Niko,你运行的是什么操作系统?您的问题的答案因您使用的平台而异。
如果您使用的是 Windows(任何条带),通过 ODBC (RODBC) 连接到 MSSQL Server 是最有意义的。当我连接到 Linux 上的 MSSQL Server 时,我按照 Joris 的建议使用 JDBC。我认为 JDBC 也是 Mac 的最佳解决方案,但我很可能错了。
【讨论】:
outperform RODBC and RJDBC 似乎还有另一个选项
rsqlserver agstudy 编写的包。
安装:
require(devtools)
install_github("rClr", 'jmp75')
install_github('rsqlserver', 'agstudy',args='--no-multiarch')
【讨论】:
【讨论】:
您可以使用 DBI 包连接到 SQL Server,我认为它比 RODBC 效果更好。 DBI 是关系数据库的数据库接口包。对于 SQL,我将它与 odbc 包一起使用,如下例所示。
访问此页面了解完整详情:Database Queries with R
一个例子如下
library(DBI)
library(odbc)
con <- dbConnect(odbc::odbc(), .connection_string = "driver={SQL Server}; server= ServerName; database=DatabaseName; trusted_conncetion=true"))
dbGetQuery(con,'Select * from Table')
【讨论】:
库(“RODBC”)
dbhandle ;database=;trusted_connection=true')
currTableSQL
currTableDF
【讨论】: