【问题标题】:sp_execute_external_script R script 'unable to start png() device'sp_execute_external_script R 脚本'无法启动 png() 设备'
【发布时间】:2020-04-22 19:04:49
【问题描述】:

我正在尝试使用 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 行出现“R”脚本错误 在使用 HRESULT 执行“sp_execute_external_script”期间 0x80004004。消息 39019,级别 16,状态 2,第 13 行外部脚本 发生错误:png 错误(文件 = 报告文件):无法启动 png() 设备调用:source -> withVisible -> eval -> eval -> png In 另外:警告消息:1:在png(文件=报告文件)中:无法 打开文件 'C:\temp\Covid19-Weekly.png' 以写入 2: In png(file = reportfile) : 打开设备失败

执行错误。检查输出以获取更多信息。错误 eval(ei, envir) : 执行错误。检查输出以获取更多信息 信息。调用:runScriptFile -> source -> withVisible -> eval -> eval -> .Call 执行停止

它作为管理员也失败了。请帮忙。

【问题讨论】:

    标签: r sql-server plot


    【解决方案1】:

    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()'
    

    【讨论】:

      猜你喜欢
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 2021-09-19
      • 2018-09-24
      • 2013-09-09
      • 1970-01-01
      相关资源
      最近更新 更多