Я создаю некоторые графики, которые я хочу обновить в таблице базы данных. Следующей процедурой является:Как загрузить изображение на SQL Server в R
- создавать графики как файл png/jpeg.
- Прочитайте этот файл как бинарный вектор
- SQLUpdate
Мой код для шагов 2 & 3:
pngfile <- file(<filename>, "rb")
N <- 1e6
repeat{
pngfilecontents <- readBin(pngfile, what="raw", n=N)
if(length(pngfilecontents) == N) N <- 5 * N else break
}
close(pngfile)
Там есть таблица df_DemandPatternMaster в базе данных с первичным ключом DemandPatternID, с соответствующими запись с использованием значения NULL в поле pngFile.
update.query <- "update df_DemandPatternMaster set "
update.query <- paste(update.query, " pngFile = '", serialize(pngfilecontents, NULL) , "' where DemandPatternID = ", , sep="")
d <- sqlQuery(connection, update.query)
В итоге я вставляю только байт данных. Причина в том, что паста видит сериализованный вектор и создает вектор с префиксом & суффикса. Я также попытался прохождения pngfile обращаться непосредственно
pngfile <- file(<filename>, "rb")
update.query <- paste(update.query, " pngFile = '", pngfile, "' where DemandPatternID = ", , sep="")
Это также не удается.
Просьба сообщить.
Тесно связанный с этим вопрос: http://stackoverflow.com/questions/2045837/how-to-save-r-plot-image-to-database – Shane