r - sp_execute_external_script R 脚本'无法启动 png() 设备'
问题描述
我正在尝试使用sp_execute_external_script命令在 SQL Server R 中创建绘图,但无法创建绘图 png 图像:
DECLARE @stateName nvarchar(50) = 'Michigan'
EXEC sp_execute_external_script
@language = N'R',
@script = N'
covidWeeklyDataSet <- InputDataSet
# set up report file for chart
reportfile <- "C:\\temp\\Covid19-Weekly.png"
png(file = reportfile)
plot(x = covidWeeklyDataSet[, 1], y = covidWeeklyDataSet[, 2],
main = paste(state_name, "Weekly Covid 19 Counts", sep = ""),
col = 3, ylab = "Cases", xlab = "Dates", ylim = c(0, 35000))
par(new = TRUE)
plot(x = covidWeeklyDataSet[, 1], y = covidWeeklyDataSet[, 3],
col = 2, ylab = "Cases", xlab = "Dates", ylim = c(0, 35000))
dev.off()
',
@input_data_1 = N'SELECT [date], cases, deaths FROM #weekly',
@params = N'@state_name nvarchar(20)',
@state_name = @stateName
错误信息如下:
消息 39004,级别 16,状态 20,第 13 行在执行“sp_execute_external_script”期间发生“R”脚本错误,HRESULT 为 0x80004004。消息 39019,级别 16,状态 2,第 13 行发生外部脚本错误:png 错误(文件 = 报告文件):无法启动 png() 设备调用:源 -> withVisible -> eval -> eval -> png 另外:警告消息:1:在 png 中(文件 = 报告文件):无法打开文件 'C:\temp\Covid19-Weekly.png' 进行写入 2:在 png 中(文件 = 报告文件):打开设备失败
执行错误。检查输出以获取更多信息。eval(ei, envir) 中的错误:执行错误。检查输出以获取更多信息。调用:runScriptFile -> source -> withVisible -> eval -> eval -> .Call 执行停止
作为管理员,它也失败了。请帮忙。
解决方案
c:\temp 对“所有应用程序包”的读写权限。
EXEC sp_execute_external_script
@language = N'R',
@script = N'
#file.create("c:\\temp\\mytest.png")
png(filename = "c:\\temp\\mytest.png",
width = 500, height = 500, units = "px", pointsize = 12,
bg = "white", res = NA)
x <- sample(c("A","B","C","D"), 20, replace=TRUE)
plot(table(x))
dev.off()'
推荐阅读
- c# - 我如何知道协程是否仍在“等待”?
- ios - React Native 删除 iOS 的蓝牙权限警报
- kotlin - 如何从 Map 中获取字符串数组
在科特林? - python - 在数组上实现特征工程功能时出现 NumPy 错误
- django - 如何在 Django 和 DRF 中接收实时纬度和经度
- python - 追加时取出特定字符串
- python - 为什么保存我的 matplotlib 图像时,标题没有出现?
- c++ - 将鼠标悬停在 QListWidget 项目上时如何绘制轮廓?
- javascript - 执行给定次数的请求(邮递员)
- azure-functions - Azure SendGrid 提供 Forbidden 状态代码