【问题标题】:"Invalid BXL stream" in MS-SQL server while executing R scripts执行 R 脚本时 MS-SQL 服务器中的“无效 BXL 流”
【发布时间】:2017-10-11 09:44:26
【问题描述】:

我正在执行一个 R 脚本作为 ms-sql 存储过程。我正在尝试使用“geosphere”包,但是当我执行存储过程时,我收到错误“无效的 BXL 流”并且执行停止。该软件包已安装在机器上,只需加载该软件包就会导致此错误,即library("geosphere") 会导致该错误。

但是,我可以将这个包与 R Studio 独立使用,所以这个包似乎没有任何问题。

【问题讨论】:

    标签: r sql-server rstudio


    【解决方案1】:

    我知道这个问题已经过时了,但我多次遇到同一个问题,所以我想把我的结果留在这里。

    我在使用 sp_execute_external_script 在 MS-SQL 2016/17 中运行 R 和 Python 脚本时发现 BXL 错误有两个不同的原因

    1. 错误的数据类型 - SQL 通常不理解从脚本发送的数据类型。通常将数据显式转换为某种数据类型会有所帮助。

    2. 错误的包配置 - R 和 Anaconda 发行版中的某些包无法与存储过程很好地同步,因为数据库阻止了这些包中的某些依赖项。尝试在 R 或 Python 的 SQL 安装实例中重新安装包。

    您的问题似乎属于后一类。希望对您有所帮助!

    【讨论】:

      【解决方案2】:

      今天遇到了类似的问题,但使用了不同的包。从 MSSQL 存储过程中获取“无效的 BXL 流。但是,我发现如果我打开 Rterm.exe 并键入命令‘require(packagename)’,则 Rterm 崩溃并显示“Rterm 前端已停止工作”。这看起来像是内存问题- 这也被建议导致“无效的 BXL 流”错误。 但是,我的问题原来是没有正确安装软件包的依赖项(也许您正在通过代理工作?)。 我基本上删除了我第一次安装问题包并执行 install.packages("packagename") 时创建的所有库包。一切都开始工作了!

      抱歉 - 刚刚注意到您声明该程序包与 R studio 独立工作 - 这可能是 R 内存分配与 SQL 的问题 - 请参阅 http://henkvandervalk.com/introducing-microsoft-sql-server-2016-r-services

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多