R SQL Server文件不存在错误-但它确实存在



我在SQL Server 2019中运行R 3.5.2。

使用以下命令加载预训练的udpipe模型:

udmodel_english <- udpipe_load_model(file = ''C:/ud/english-ewt-ud-2.5-191206.udpipe'')

这在Rstudio中工作得很好,并且直接在R中工作。但是,当作为SQL外部脚本运行时,我得到以下错误:

Error in udpipe_load_model(file = "C:/ud/english-ewt-ud-2.5-191206.udpipe") : 
File C:/ud/english-ewt-ud-25-191206.udpipe containing the language model does not exist
Calls: source -> withVisible -> eval -> eval -> udpipe_load_model

无论文件在哪里,它确实存在,并且通过Rstudio加载没有问题。

任何建议都会非常有帮助。

完整代码供参考:

Begin
EXEC sp_execute_external_script       
@language = N'R',
@script = N' 
library(zoo)
library(xts)
library(udpipe)
#model <- udpipe_download_model(language = "english")
udmodel_english <- udpipe_load_model(file = ''C:/ud/english-ewt-ud-2.5-191206.udpipe'')
'
End

完整错误如FYI:

Msg 39004, Level 16, State 20, Line 29
A 'R' script error occurred during execution of 'sp_execute_external_script' with HRESULT 0x80004004.
Msg 39019, Level 16, State 2, Line 29
An external script error occurred: 
Attaching package: 'zoo'
The following objects are masked from 'package:base':
as.Date, as.Date.numeric
Error in udpipe_load_model(file = "C:/ud/english-ewt-ud-2.5-191206.udpipe") : 
File C:/ud/english-ewt-ud-25-191206.udpipe containing the language model does not exist
Calls: source -> withVisible -> eval -> eval -> udpipe_load_model
In addition: Warning messages:
1: package 'zoo' was built under R version 3.5.3 
2: package 'xts' was built under R version 3.5.3 
3: package 'udpipe' was built under R version 3.5.3 
Error in execution.  Check the output for more information.
Error in eval(ei, envir) : 
Error in execution.  Check the output for more information.
Calls: runScriptFile -> source -> withVisible -> eval -> eval -> .Call
Execution halted

感谢

我做到了。(终于!)

是的,这是一个权限问题,但不像你期望的那样。除了SQL可以访问文件夹之外,让R访问工作目录之外的文件文件夹。您必须授予"所有应用程序包"权限。对象到该文件夹。

希望这能节省大家在谷歌搜索的时间。