如何从SQL Server直接导入数据到R?现有登录信息是否足够?
直接从SQL Server导入R的可行性及实现步骤
嘿,没问题!你手头的DNS、Database、Login、Password这几个信息完全足够直接从SQL Server把数据导入R,不用再绕Excel中转那一步啦,能省不少时间。
最推荐的实现方式:使用odbc包
odbc是现在R生态里连接SQL Server更现代、更稳定的工具,步骤也很清晰:
- 先安装并加载
odbc包
install.packages("odbc") library(odbc)
- 建立数据库连接
把你手里的信息对应填进去就行:
conn <- dbConnect( odbc(), Driver = "ODBC Driver 17 for SQL Server", # 注意这里要选你系统里安装的对应驱动版本,比如17或者11 Server = "你的DNS地址", Database = "你的数据库名", UID = "你的登录名", PWD = "你的密码" )
小提示:驱动版本要和你系统里装的一致,比如Windows系统一般自带ODBC驱动,你可以在ODBC数据源管理器里查看已安装的驱动版本。
- 提取数据
比如要提取某张表的全部数据,或者执行自定义SQL查询:
# 提取整张表 data <- dbReadTable(conn, "你的表名") # 执行自定义SQL查询 data <- dbGetQuery(conn, "SELECT * FROM 你的表名 WHERE 条件")
- 用完记得关闭连接
dbDisconnect(conn)
备选方案:使用RODBC包
如果你习惯用老一点的工具,RODBC也能实现,步骤类似:
install.packages("RODBC") library(RODBC) conn <- odbcConnect( dsn = "你的DNS地址", uid = "你的登录名", pwd = "你的密码", database = "你的数据库名" ) data <- sqlFetch(conn, "你的表名") # 或者用sqlQuery执行自定义SQL # data <- sqlQuery(conn, "SELECT * FROM 你的表名") odbcClose(conn)
总的来说,你现有的信息完全覆盖了连接所需的核心参数,直接按上面的步骤操作就能搞定啦!
内容的提问来源于stack exchange,提问作者George
相关产品推荐
相关产品推荐

