sp_execute_external_script R скрипт «не может запустить устройство png ()» - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь создать график в SQL Server R с помощью команды sp_execute_external_script , но не удается создать изображение графика 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' при выполнении sp_execute_external_script с HRESULT 0x80004004. Сообщение 39019, уровень 16, состояние 2, строка 13 Произошла внешняя ошибка сценария: Ошибка в png (file = reportfile): невозможно запустить устройство png () Вызовы: source -> withVisible -> eval -> eval -> png Дополнительно : Предупреждающие сообщения: 1: В png (файл = файл отчета): невозможно открыть файл 'C: \ temp \ Covid19-Weekly.png' для записи 2: В png (файл = файл отчета): не удалось открыть устройство

Ошибка в выполнении. Проверьте вывод для получения дополнительной информации. Ошибка в eval (ei, envir): Ошибка в выполнении. Проверьте вывод для получения дополнительной информации. Вызовы: runScriptFile -> source -> withVisible -> eval -> eval -> .Call Выполнение остановлено

Также как администратор не может. Пожалуйста, помогите.

1 Ответ

1 голос
/ 23 апреля 2020

Разрешения на ЧТЕНИЕ и ЗАПИСЬ для 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()'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...