【问题标题】:Connect R to a SQL Server database engine将 R 连接到 SQL Server 数据库引擎
【发布时间】:2017-01-16 23:51:21
【问题描述】:

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

我是否有机会使用 Pentaho 连接到 SQL Server 数据库,然后使用对象 Execute R-Script 来制作 OLAP Cube? 我需要一个包来连接 SQL 引擎吗? 执行的步骤是什么?

我已经有了数据库的雪花结构。带有事实表和状态表。但我不知道从哪里开始。

【问题讨论】:

    标签: sql-server r pentaho


    【解决方案1】:

    自 SQL Server 2016 以来,SQL Server 已原生支持调用 R 程序。因此,除了像此处其他人建议的那样从 R 脚本调用 SQL Server 之外,您还可以将 R 脚本放入 SQL Server 并获得本机可扩展功能,尤其是对于机器学习.

    【讨论】:

      【解决方案2】:

      这样的事情应该可以工作:

      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 应用了所有适当的权限。

      【讨论】:

      • 不应该是odbcClose(dbconnection )
      【解决方案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。

      【讨论】:

      • 如果我们与 R 建立 oracle DB 连接,是否存在安全问题?比如数据被盗等。这种方法有多安全?
      • @xkcvk2511 请咨询您的供应商。连接仅与数据库一样安全。
      【解决方案4】:

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

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

      【讨论】:

      • 截至 2019 年 2 月,RSQLServer 的作者推荐使用 odbc 包。这是 RSQLServer 的存档:github.com/imanuelcostigan/RSQLServer,这里是 odbc 包的链接:github.com/r-dbi/odbc
      • 您可以将这些驱动程序与 R Studio Free 一起使用,还是需要 R Studio Pro 才能做到?
      • 您可以使用免费版。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-16
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      相关资源
      最近更新 更多