So laden Sie ein Bild in R auf SQL Server hoch

Ich erstelle einige Diagramme, die ich in eine Datenbanktabelle aktualisieren möchte. Das Verfahren, das ich folge, ist:

Erstellen Sie die Grafiken als PNG / JPEG-Datei.Lesen Sie diese Datei als binären VektorsqlUpdate

Mein Code für die Schritte 2 und 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)

In der Datenbank befindet sich eine Tabelle df_DemandPatternMaster mit dem Primärschlüssel DemandPatternID und einem entsprechenden Datensatz mit dem Wert NULL im Feld pngFile.

update.query <- "update df_DemandPatternMaster set "
update.query <- paste( update.query, " pngFile = '", serialize(pngfilecontents, NULL) , "' where DemandPatternID = ", , sep="")
d <- sqlQuery(connection, update.query)

Am Ende füge ich nur ein Byte Daten ein. Der Grund dafür scheint zu sein, dass paste den serialisierten Vektor erkennt und einen Vektor mit dem Präfix und Suffix text erstellt. Ich habe auch versucht, das PNG-Datei-Handle direkt zu übergeben

pngfile <- file(<filename>, "rb")
update.query <- paste( update.query, " pngFile = '", pngfile, "' where DemandPatternID = ", , sep="")

Dies schlägt ebenfalls fehl.

Bitte beraten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage