我正在执行一个R脚本作为ms-sql存储过程。我试图使用" geosphere"包,但是当我执行存储过程时,我收到错误"无效的BXL流"并且执行停止。软件包已安装在机器上,只需加载软件包就会出现此错误,即library("geosphere")
会导致错误。
但是,我可以使用R Studio独立使用此软件包,因此该软件包似乎没有任何问题。
答案 0 :(得分:2)
今天有类似的问题,但有一个不同的包。从MSSQL存储过程获取"无效的BXL流。但是,我发现如果我打开Rterm.exe并输入命令' require(packagename)'然后Rterm崩溃了" Rterm前端已停止工作"。这看起来像是一个内存问题 - 也有人建议它导致"无效的BXL流"错误。 但是,我的问题是事实证明包的依赖关系没有正确安装(也许你正在通过代理工作?)。 我基本上删除了第一次安装问题包时创建的所有库包,并执行了install.packages(" packagename")。一切都开始了!
抱歉 - 只是注意到你声明该软件包与R studio独立工作 - 这可能是使用SQL分配R内存的问题 - 请参阅http://henkvandervalk.com/introducing-microsoft-sql-server-2016-r-services
答案 1 :(得分:2)
我知道这个问题已经过时,但是我多次遇到同一问题,所以我想把结果留在这里。
我在MS-SQL 2016/17中使用sp_execute_external_script
运行R和Python脚本时发现,由于两种不同的原因,BXL错误来了
错误的数据类型-SQL通常不理解从脚本中发送的数据类型。通常,将数据显式转换为特定数据类型会有所帮助。
错误的程序包配置-R和Anaconda发行版中的某些程序包无法与存储过程同步,因为数据库会阻止这些程序包中的某些依赖项。尝试在R或Python的SQL安装实例中重新安装该软件包。
您的问题似乎属于后一种。希望对您有所帮助!