【问题标题】:RTVS: Visual Studio does not recognize R packages, when executing as a SQL Server stored procedureRTVS:当作为 SQL Server 存储过程执行时,Visual Studio 无法识别 R 包
【发布时间】:2019-02-18 17:02:52
【问题描述】:

我试图创建一个包含 R 代码的 SQL Server 存储过程。我使用的是 RTVS -- R Tools for Microsoft Visual Studio 2015。

问题是 Visual Studio 无法识别我安装的 R 包,除了“Base R”。例如,'dplyr',我在执行过程时收到此错误消息:

执行“sp_execute_external_script”期间发生“R”脚本错误 ...
发生外部脚本错误:
库 (dplyr) 中的错误:没有名为“dplyr”的包
调用:source -> withVisible -> eval -> eval -> library ...

但我很确定“dplyr”已经安装并且工作正常。以防万一,我先这样做了:

EXEC sp_execute_external_script @language = N'R',
@script = N' print(normalizePath(R.home())); print(.libPaths());';

并找到了 R 包所在的位置。然后我手动重新安装了“dplyr”包:

lib.SQL <- "C:\\Program Files\\Microsoft SQL Server\\MSSQL13.MSSQLSERVER\\R_SERVICES\\library"
install.packages("dplyr", lib = lib.SQL)

然后我重新启动了 VS,用 R 重新发布了这个 SQL Server 存储过程,执行了它,得到了同样的错误。

事实上,我可以在 Visual Studio 中手动运行具有“dplyr”功能的 R 代码,并让它与 SQL Server 数据库进行交互。我只是无法将整个内容发布为存储过程然后执行它。

我到处搜索,到目前为止没有找到解决方案。任何帮助将不胜感激。

【问题讨论】:

  • 听起来你应该去 MS 支持设施。

标签: r sql-server visual-studio stored-procedures rtvs


【解决方案1】:

我实际上是通过在每台服务器上使用命令行提示重新安装 R 包来解决这个问题的。只是想在这里发布,以便其他人可以看到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    相关资源
    最近更新 更多