zoukankan      html  css  js  c++  java
  • Sqlserver 2016 R Service环境安装的各种错误(坑)解决办法

    相信很多朋友都会慕名Sqlserver 2016的R语言功能,将自己的数据库升级到Sqlserver 2016,但是当你安装完Sqlserver 2016的R语言组件之后,你会发现并不能直接使用,比如当你在SSMS中执行下面这段测试R语言命令的时候,Sqlserver 2016会各种报错。。。

     exec sp_execute_external_script  @language =N'R',   
     @script=N'OutputDataSet<-InputDataSet',     
     @input_data_1 =N'select 1 as hello'   
     with result sets (([hello] int not null));   
     go   

    本人也是折腾了好久最终才成功在Sqlserver 2016中执行了R语言。

    首先如果你要启用Sqlserver的R语言功能,必须要启动Sqlserver的两个服务:

    1.Sqlserver实例数据库引擎服务:

    2.Sqlserver实例SQL Server Lanuchpad服务:

    启动这两个服务之后,还要在SSMS中执行下面这段SQL脚本,才能在Sqlserver中开启执行外部脚本(R语言)的功能。注意执行完这段脚本后要重启数据库引擎服务和SQL Server Lanuchpad服务才会正式生效

    Exec sp_configure  'external scripts enabled', 1;
    reconfigure;

    如果你在安装Sqlserver 2016的时候,安装路径中如果出现了空格,那么恭喜你。。。你还需要修改一个系统配置文件,否者Sqlserver 2016 的R语言运行时会报错。。。

    比如我安装Sqlserver 2016的时候安装路径为D:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVER

    那么找到文件D:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVERMSSQLBinn launcher.config

    使用操作系统管理员权限启动记事本(notepad),打开rlauncher.config,找到WORKING_DIRECTORY这一项修改为一个不带空格的文件夹路径,这里我使用了自定义的一个文件夹D:RWorkspace

     将D:RWorkspace赋予windows用户everyone的完全控制权限(看到有文章说其实是要给这个文件夹赋予SQL Server Lanuchpad服务的执行账户的完全控制权限,但是由于我没有在系统中找到SQL Server Lanuchpad服务的执行账户,所以这里就赋予了用户everyone的完全控制权限):

    然后以管理员身份启动命令行工具CMD,定位到文件夹D:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVERR_SERVICESlibraryRevoScaleR xLibsx64

    执行CMD命令:

    registerRext.exe /uninstall

    结果如下:

    再执行CMD命令:

    registerRext.exe /install

    结果如下:

    再次在SSMS中执行上面的测试R语言命令:

     exec sp_execute_external_script  @language =N'R',   
     @script=N'OutputDataSet<-InputDataSet',     
     @input_data_1 =N'select 1 as hello'   
     with result sets (([hello] int not null));   
     go   

    结果如下,R语言模块成功运行!

    但是由于执行了registerRext.exe /uninstall和registerRext.exe /install,我发现这两个命令其实最终会将rlauncher.config文件中WORKING_DIRECTORY的路径更改为D:SQL-mssqlserver-ExtensibilityData,如下图所示:

    所以前面我们修改rlauncher.config中配置文件和给文件夹D:RWorkspace赋予everyone完全控制权限的步骤可能是多余的,但是最终目的反正就是不能让rlauncher.config文件中WORKING_DIRECTORY的路径包含空格,否者Sqlserver 2016的R语言运行时会报错,这一点必须要注意。

    好了R语言服务终于可以成功使用了,接下来就可以探究Sqlserver R语言的奥妙之处了!

  • 相关阅读:
    分布式超级账本Hyperledger为什么选择使用kafka引擎实现共识方案
    银行卡所属公司判断 参考自https://blog.csdn.net/well2049/article/details/79429130
    golang GBK与UTF-8互转的例子
    Welcome to Swift (苹果官方Swift文档初译与注解五)---29~34页
    Welcome to Swift (苹果官方Swift文档初译与注解四)---19~28页
    Welcome to Swift (苹果官方Swift文档初译与注解三)---11~18页
    Welcome to Swift (苹果官方Swift文档初译与注解二)---6~10页
    Welcome to Swift (苹果官方Swift文档初译与注解)
    UIButton部分功能设置(一):
    Mac下配置WebDav
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/7090370.html
Copyright © 2011-2022 走看看