我在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'')
'
EndFull error as 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谢谢
发布于 2021-08-30 00:50:43
我已经做到了。(终于!!)
是的,这是一个权限问题,但并不像你预期的那样。除了SQL可以访问文件夹之外,还可以让R访问工作目录之外的文件夹。您必须将“所有应用程序包”对象的权限授予该文件夹。
希望这能节省其他人拼凑google bits的时间。
https://stackoverflow.com/questions/68956738
复制相似问题